
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void core_create_line_syms(void)

{
  uint uVar1;
  Sym *pSVar2;
  size_t sVar3;
  bfd_boolean bVar4;
  int iVar5;
  char *pcVar6;
  Source_File *pSVar7;
  char *__format;
  char **ppcVar8;
  char **ppcVar9;
  Sym *pSVar10;
  Sym *pSVar11;
  char **ppcVar12;
  int iVar13;
  char **ppcVar14;
  bool bVar15;
  int local_150;
  char *local_14c;
  char *local_148;
  uint local_144;
  uint local_140;
  char *filename;
  Sym_Table ltab;
  Sym dummy;
  
  core_create_function_syms();
  local_14c = (char *)xmalloc(0x1000);
  local_148 = (char *)xmalloc(0x1000);
  ltab.len = 0;
  ppcVar12 = *(char ***)&core_text_sect->vma;
  ppcVar14 = *(char ***)((int)&core_text_sect->vma + 4);
  ppcVar9 = (char **)((int)ppcVar12 + (int)core_text_sect->size);
  ppcVar8 = (char **)((int)ppcVar14 +
                     (uint)CARRY4((uint)ppcVar12,(uint)core_text_sect->size) +
                     *(int *)((int)&core_text_sect->size + 4));
  if (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)) {
    local_150 = 0;
    local_144 = 0x1000;
    local_140 = 0x1000;
    do {
      bVar4 = get_src_info(CONCAT44(&dummy.line_num,&dummy.name),ppcVar12,ppcVar14,(int *)&filename)
      ;
      pcVar6 = dummy.name;
      if ((bVar4 != 0) &&
         (((iVar13 = dummy.line_num, dummy.line_num != local_150 ||
           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||
          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,
          iVar5 != 0)))) {
        ltab.len = ltab.len + 1;
        sVar3 = strlen(pcVar6);
        if (local_140 <= sVar3) {
          local_140 = sVar3 + 0x400;
          free(local_14c);
          local_14c = (char *)xmalloc(local_140);
          pcVar6 = dummy.name;
        }
        strcpy(local_14c,pcVar6);
        pcVar6 = filename;
        sVar3 = strlen(filename);
        if (local_144 <= sVar3) {
          local_144 = sVar3 + 0x400;
          free(local_148);
          local_148 = (char *)xmalloc(local_144);
          pcVar6 = filename;
        }
        strcpy(local_148,pcVar6);
        local_150 = iVar13;
      }
      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);
      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);
      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));
    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)
            );
  }
  uVar1 = ltab.len;
  free(local_14c);
  free(local_148);
  ltab.len = uVar1 + symtab.len;
  ltab.base = (Sym *)xmalloc(ltab.len * 0xfc);
  ppcVar12 = *(char ***)&core_text_sect->vma;
  ppcVar14 = *(char ***)((int)&core_text_sect->vma + 4);
  ltab.limit = ltab.base;
  if (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)) {
    pSVar11 = (Sym *)0x0;
    do {
      sym_init(ltab.limit);
      bVar4 = get_src_info(CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name),ppcVar12,ppcVar14,
                           (int *)&filename);
      pSVar10 = ltab.limit;
      if (bVar4 != 0) {
        pcVar6 = (ltab.limit)->name;
        if (pSVar11 == (Sym *)0x0) {
          pcVar6 = (char *)xstrdup(pcVar6);
          pSVar11 = ltab.limit;
          pSVar10->name = pcVar6;
          pSVar7 = source_file_lookup_path(filename);
          pSVar11->file = pSVar7;
          *(char ***)&(ltab.limit)->addr = ppcVar12;
          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;
LAB_000198a0:
          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));
          pSVar10 = ltab.limit;
          if (pSVar11 != (Sym *)0x0) {
            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;
          }
        }
        else {
          if ((pSVar11->line_num == (ltab.limit)->line_num) &&
             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {
            iVar13 = filename_cmp(pSVar11->file->name,filename);
            if (iVar13 == 0) goto LAB_000198e5;
            pcVar6 = (ltab.limit)->name;
            pSVar10 = ltab.limit;
          }
          pcVar6 = (char *)xstrdup(pcVar6);
          pSVar2 = ltab.limit;
          pSVar10->name = pcVar6;
          pSVar7 = source_file_lookup_path(filename);
          pSVar10 = ltab.limit;
          pSVar2->file = pSVar7;
          pSVar7 = pSVar11->file;
          *(char ***)&(ltab.limit)->addr = ppcVar12;
          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;
          if (((ltab.limit)->file != pSVar7) ||
             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;
          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;
        }
        pSVar11 = pSVar10;
        if (((byte)debug_level & 0x80) != 0) {
          printf("[core_create_line_syms] %lu %s 0x%lx\n",
                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr
                );
          pSVar11 = ltab.limit;
        }
        ltab.limit = pSVar11 + 1;
        pSVar11 = pSVar10;
      }
LAB_000198e5:
      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);
      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);
      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));
    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)
            );
  }
  memcpy(ltab.limit,symtab.base,symtab.len * 0xfc);
  uVar1 = ltab.len;
  pcVar6 = whoami;
  ltab.limit = ltab.limit + symtab.len;
  iVar13 = ((int)ltab.limit - (int)ltab.base >> 2) * -0x41041041;
  if (iVar13 - ltab.len != 0) {
    __format = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,
                                 &whoami);
    fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,uVar1,iVar13);
                    /* WARNING: Subroutine does not return */
    done(1);
  }
  symtab_finalize(&ltab);
  free(symtab.base);
  symtab.len = ltab.len;
  symtab.base = ltab.base;
  symtab.limit = ltab.limit;
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void FUN_000195a0(void)

{
  undefined4 uVar1;
  uint *puVar2;
  size_t sVar3;
  int iVar4;
  int iVar5;
  uint uVar6;
  char *pcVar7;
  uint uVar8;
  uint uVar9;
  uint *puVar10;
  uint *puVar11;
  uint uVar12;
  uint uVar13;
  bool bVar14;
  int local_150;
  char *local_14c;
  char *local_148;
  uint local_144;
  uint local_140;
  char *local_128;
  int local_124;
  uint *local_120;
  uint *local_11c;
  char *local_108 [2];
  int local_100 [59];
  undefined4 uStack_14;
  
  uStack_14 = 0x195a9;
  FUN_000190e0();
  local_14c = (char *)xmalloc(0x1000);
  local_148 = (char *)xmalloc(0x1000);
  local_124 = 0;
  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);
  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);
  uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);
  uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +
          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));
  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {
    local_150 = 0;
    local_144 = 0x1000;
    local_140 = 0x1000;
    do {
      iVar4 = FUN_00018440(local_108,local_100);
      pcVar7 = local_108[0];
      if ((iVar4 != 0) &&
         (((iVar4 = local_100[0], local_100[0] != local_150 ||
           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||
          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],
          iVar5 != 0)))) {
        local_124 = local_124 + 1;
        sVar3 = strlen(pcVar7);
        if (local_140 <= sVar3) {
          local_140 = sVar3 + 0x400;
          free(local_14c);
          local_14c = (char *)xmalloc(local_140);
          pcVar7 = local_108[0];
        }
        strcpy(local_14c,pcVar7);
        sVar3 = strlen(local_128);
        if (local_144 <= sVar3) {
          local_144 = sVar3 + 0x400;
          free(local_148);
          local_148 = (char *)xmalloc(local_144);
        }
        strcpy(local_148,local_128);
        local_150 = iVar4;
      }
      bVar14 = CARRY4(uVar12,DAT_0002e120);
      uVar12 = uVar12 + DAT_0002e120;
      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;
    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));
  }
  iVar4 = local_124;
  free(local_14c);
  free(local_148);
  local_124 = iVar4 + DAT_0002e520;
  local_120 = (uint *)xmalloc(local_124 * 0xfc);
  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);
  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);
  local_11c = local_120;
  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {
    puVar11 = (uint *)0x0;
    do {
      FUN_0001ce40(local_11c);
      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);
      puVar10 = local_11c;
      if (iVar4 != 0) {
        pcVar7 = (char *)local_11c[4];
        if (puVar11 == (uint *)0x0) {
          uVar6 = xstrdup(pcVar7);
          puVar11 = local_11c;
          puVar10[4] = uVar6;
          uVar6 = FUN_0001c820(local_128);
          puVar11[5] = uVar6;
          *local_11c = uVar12;
          local_11c[1] = uVar13;
LAB_000198a0:
          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);
          puVar10 = local_11c;
          if (iVar4 != 0) {
            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;
          }
        }
        else {
          if ((puVar11[6] == local_11c[6]) &&
             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {
            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);
            if (iVar4 == 0) goto LAB_000198e5;
            pcVar7 = (char *)local_11c[4];
            puVar10 = local_11c;
          }
          uVar6 = xstrdup(pcVar7);
          puVar2 = local_11c;
          puVar10[4] = uVar6;
          uVar6 = FUN_0001c820(local_128);
          puVar10 = local_11c;
          puVar2[5] = uVar6;
          uVar6 = puVar11[5];
          *local_11c = uVar12;
          local_11c[1] = uVar13;
          if ((local_11c[5] != uVar6) ||
             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))
          goto LAB_000198a0;
          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;
        }
        puVar11 = puVar10;
        if (((byte)DAT_0002e158 & 0x80) != 0) {
          printf("[core_create_line_syms] %lu %s 0x%lx\n",
                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);
          puVar11 = local_11c;
        }
        local_11c = puVar11 + 0x3f;
        puVar11 = puVar10;
      }
LAB_000198e5:
      bVar14 = CARRY4(uVar12,DAT_0002e120);
      uVar12 = uVar12 + DAT_0002e120;
      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;
    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));
  }
  memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);
  iVar4 = local_124;
  uVar1 = DAT_0002e508;
  local_11c = local_11c + DAT_0002e520 * 0x3f;
  iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;
  if (iVar5 - local_124 != 0) {
    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,
                               &DAT_0002e508);
    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);
                    /* WARNING: Subroutine does not return */
    FUN_0001adb0(1);
  }
  FUN_0001ce90(&local_124);
  free(DAT_0002e524);
  DAT_0002e520 = local_124;
  DAT_0002e524 = local_120;
  DAT_0002e528 = local_11c;
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013030
ADD EBX,0x13a57
SUB ESP,0x14c
CALL 0x000190e0
SUB ESP,0xc
PUSH 0x1000
CALL 0x000121d0
MOV dword ptr [ESP],0x1000
MOV dword ptr [ESP + 0x20],EAX
CALL 0x000121d0
MOV dword ptr [ESP + 0x48],0x0
MOV dword ptr [ESP + 0x24],EAX
LEA EAX,[EBX + 0x14fc]
MOV dword ptr [ESP + 0x3c],EAX
MOV EAX,dword ptr [EAX]
MOV ESI,dword ptr [EAX + 0x1c]
MOV EDI,dword ptr [EAX + 0x20]
MOV EDX,ESI
MOV ECX,EDI
ADD EDX,dword ptr [EAX + 0x2c]
ADC ECX,dword ptr [EAX + 0x30]
MOV dword ptr [ESP + 0x10],EDX
MOV EAX,EDI
MOV dword ptr [ESP + 0x14],ECX
ADD ESP,0x10
CMP ESI,EDX
SBB EAX,ECX
JNC 0x00019ac0
LEA EAX,[ESP + 0x34]
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[ESP + 0x5c]
MOV dword ptr [ESP + 0x24],EAX
LEA EAX,[ESP + 0x54]
MOV dword ptr [ESP + 0x18],0x1000
MOV dword ptr [ESP + 0x1c],0x1000
MOV dword ptr [ESP + 0x20],EAX
JMP 0x000196d3
ADD dword ptr [ESP + 0x38],0x1
SUB ESP,0xc
PUSH EDX
MOV dword ptr [ESP + 0x1c],EDX
CALL 0x000122e0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
CMP dword ptr [ESP + 0x1c],EAX
JBE 0x00019750
SUB ESP,0x8
PUSH EDX
PUSH dword ptr [ESP + 0x1c]
CALL 0x00012210
MOV EDX,dword ptr [ESP + 0x44]
MOV dword ptr [ESP],EDX
MOV dword ptr [ESP + 0x1c],EDX
CALL 0x000122e0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
CMP dword ptr [ESP + 0x18],EAX
JBE 0x00019780
SUB ESP,0x8
PUSH EDX
PUSH dword ptr [ESP + 0x20]
CALL 0x00012210
ADD ESP,0x10
MOV dword ptr [ESP + 0xc],EBP
MOV EAX,dword ptr [EBX + 0x1120]
CDQ
ADD ESI,EAX
MOV EAX,dword ptr [ESP]
ADC EDI,EDX
MOV EDX,dword ptr [ESP + 0x4]
CMP ESI,EAX
MOV ECX,EDI
SBB ECX,EDX
JNC 0x000197b0
SUB ESP,0x8
MOV EAX,ESI
MOV EDX,EDI
PUSH dword ptr [ESP + 0x2c]
PUSH dword ptr [ESP + 0x2c]
MOV ECX,dword ptr [ESP + 0x18]
CALL 0x00018440
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000196b5
MOV EBP,dword ptr [ESP + 0x5c]
MOV EDX,dword ptr [ESP + 0x54]
CMP EBP,dword ptr [ESP + 0xc]
JNZ 0x00019650
SUB ESP,0x8
PUSH EDX
MOV dword ptr [ESP + 0x34],EDX
PUSH dword ptr [ESP + 0x1c]
CALL 0x00012060
ADD ESP,0x10
MOV EBP,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JNZ 0x00019650
SUB ESP,0x8
PUSH dword ptr [ESP + 0x3c]
PUSH dword ptr [ESP + 0x20]
CALL 0x000120b0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000196b5
MOV EDX,dword ptr [ESP + 0x54]
MOV EBP,dword ptr [ESP + 0x5c]
JMP 0x00019650
ADD EAX,0x400
SUB ESP,0xc
MOV dword ptr [ESP + 0x28],EAX
PUSH dword ptr [ESP + 0x1c]
CALL 0x00012090
POP EAX
PUSH dword ptr [ESP + 0x28]
CALL 0x000121d0
MOV EDX,dword ptr [ESP + 0x64]
MOV dword ptr [ESP + 0x20],EAX
ADD ESP,0x10
JMP 0x00019673
ADD EAX,0x400
SUB ESP,0xc
MOV dword ptr [ESP + 0x24],EAX
PUSH dword ptr [ESP + 0x20]
CALL 0x00012090
POP EAX
PUSH dword ptr [ESP + 0x24]
CALL 0x000121d0
MOV EDX,dword ptr [ESP + 0x44]
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
JMP 0x000196a1
MOV ESI,dword ptr [ESP + 0x38]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x00012090
POP EDI
PUSH dword ptr [ESP + 0x20]
CALL 0x00012090
LEA EAX,[EBX + 0x1520]
ADD ESI,dword ptr [EAX]
MOV dword ptr [ESP + 0x20],EAX
MOV dword ptr [ESP + 0x48],ESI
IMUL ESI,ESI,0xfc
MOV dword ptr [ESP],ESI
CALL 0x000121d0
MOV dword ptr [ESP + 0x4c],EAX
MOV ECX,EAX
MOV dword ptr [ESP + 0x50],EAX
MOV EAX,dword ptr [ESP + 0x3c]
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [EAX]
MOV ESI,dword ptr [EAX + 0x1c]
MOV EDI,dword ptr [EAX + 0x20]
MOV EAX,dword ptr [ESP]
MOV EBP,EDI
CMP ESI,EAX
SBB EBP,EDX
JNC 0x00019a04
LEA EAX,[ESP + 0x34]
XOR EBP,EBP
MOV dword ptr [ESP + 0xc],ECX
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[EBX + 0x1158]
MOV dword ptr [ESP + 0x14],EAX
LEA EAX,[EBX + 0xffff5c30]
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x00019903
MOV EDX,dword ptr [ESP + 0x40]
MOV ECX,dword ptr [EDX + 0x10]
TEST EBP,EBP
JZ 0x00019a80
MOV EAX,dword ptr [EDX + 0x18]
CMP dword ptr [EBP + 0x18],EAX
JZ 0x00019970
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0xc
PUSH ECX
CALL 0x000121f0
MOV EDX,dword ptr [ESP + 0x1c]
MOV dword ptr [EDX + 0x10],EAX
MOV EDX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x1c],EDX
POP EAX
PUSH dword ptr [ESP + 0x40]
CALL 0x0001c820
MOV EDX,dword ptr [ESP + 0x1c]
MOV dword ptr [EDX + 0x14],EAX
MOV EDX,dword ptr [ESP + 0x50]
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x14]
MOV dword ptr [EDX],ESI
MOV dword ptr [EDX + 0x4],EDI
CMP dword ptr [EDX + 0x14],EAX
JZ 0x000199c0
SUB ESP,0x4
PUSH EDI
PUSH ESI
PUSH dword ptr [ESP + 0x1c]
CALL 0x0001d480
ADD ESP,0x10
MOV EBP,dword ptr [ESP + 0x40]
TEST EAX,EAX
JZ 0x000198cc
MOVZX EDX,byte ptr [EAX + 0x1c]
MOVZX EAX,byte ptr [EBP + 0x1c]
AND EDX,0x2
AND EAX,0xfffffffd
OR EAX,EDX
MOV byte ptr [EBP + 0x1c],AL
MOV EAX,dword ptr [ESP + 0x14]
MOV ECX,EBP
TEST byte ptr [EAX],0x80
JNZ 0x00019940
LEA EAX,[ECX + 0xfc]
MOV dword ptr [ESP + 0xc],EAX
MOV dword ptr [ESP + 0x40],EAX
MOV EAX,dword ptr [EBX + 0x1120]
CDQ
ADD ESI,EAX
MOV EAX,dword ptr [ESP]
ADC EDI,EDX
MOV EDX,dword ptr [ESP + 0x4]
CMP ESI,EAX
MOV ECX,EDI
SBB ECX,EDX
JNC 0x00019a00
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
CALL 0x0001ce40
MOV EAX,dword ptr [ESP + 0x50]
POP EDX
POP ECX
LEA EDX,[EAX + 0x18]
ADD EAX,0x10
PUSH EDX
MOV EDX,EDI
PUSH EAX
MOV ECX,dword ptr [ESP + 0x18]
MOV EAX,ESI
CALL 0x00018440
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00019840
MOV EAX,dword ptr [ESP + 0x40]
MOV dword ptr [ESP + 0xc],EAX
JMP 0x000198e5
PUSH dword ptr [EBP]
MOV EAX,EBP
PUSH dword ptr [EBP + 0x10]
SUB EAX,dword ptr [ESP + 0x44]
SAR EAX,0x2
IMUL EAX,EAX,-0x41041041
PUSH EAX
PUSH dword ptr [ESP + 0x28]
CALL 0x00012070
MOV ECX,dword ptr [ESP + 0x50]
ADD ESP,0x10
JMP 0x000198d7
MOV dword ptr [ESP + 0x18],EDX
SUB ESP,0x8
PUSH ECX
MOV dword ptr [ESP + 0x18],ECX
PUSH dword ptr [EBP + 0x10]
CALL 0x00012060
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JNZ 0x0001985b
MOV EAX,dword ptr [EBP + 0x14]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x3c]
PUSH dword ptr [EAX + 0x4]
CALL 0x000120b0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00019935
MOV EDX,dword ptr [ESP + 0x40]
MOV ECX,dword ptr [EDX + 0x10]
JMP 0x0001985b
SUB ESP,0x8
PUSH dword ptr [EBP + 0x10]
PUSH dword ptr [EDX + 0x10]
MOV dword ptr [ESP + 0x1c],EDX
CALL 0x00012060
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000198a0
MOV EDX,dword ptr [ESP + 0xc]
MOVZX ECX,byte ptr [EBP + 0x1c]
MOVZX EAX,byte ptr [EDX + 0x1c]
AND ECX,0x2
MOV EBP,EDX
AND EAX,0xfffffffd
OR EAX,ECX
MOV byte ptr [EDX + 0x1c],AL
JMP 0x000198cc
MOV ECX,dword ptr [ESP + 0xc]
MOV EDI,dword ptr [ESP + 0x10]
SUB ESP,0x4
IMUL EAX,dword ptr [EDI],0xfc
PUSH EAX
PUSH dword ptr [EDI + 0x4]
PUSH ECX
CALL 0x000120a0
IMUL EAX,dword ptr [EDI],0xfc
ADD EAX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x50],EAX
SUB EAX,dword ptr [ESP + 0x4c]
SAR EAX,0x2
MOV EDI,dword ptr [ESP + 0x48]
ADD ESP,0x10
IMUL ESI,EAX,-0x41041041
CMP ESI,EDI
JNZ 0x00019ac7
SUB ESP,0xc
LEA EAX,[ESP + 0x44]
PUSH EAX
CALL 0x0001ce90
POP ECX
MOV EDI,dword ptr [ESP + 0x1c]
PUSH dword ptr [EDI + 0x4]
CALL 0x00012090
MOV EAX,dword ptr [ESP + 0x48]
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [EDI + 0x4],EAX
MOV EAX,dword ptr [ESP + 0x50]
MOV dword ptr [EDI + 0x8],EAX
ADD ESP,0x15c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0xc
PUSH ECX
CALL 0x000121f0
MOV EDX,dword ptr [ESP + 0x1c]
MOV EBP,dword ptr [ESP + 0x50]
MOV dword ptr [EDX + 0x10],EAX
POP EDX
PUSH dword ptr [ESP + 0x40]
CALL 0x0001c820
MOV dword ptr [EBP + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x50]
ADD ESP,0x10
MOV dword ptr [EAX],ESI
MOV dword ptr [EAX + 0x4],EDI
JMP 0x000198a0
XOR ESI,ESI
JMP 0x000197b4
LEA EAX,[EBX + 0x1508]
MOV EBP,dword ptr [EAX]
PUSH EAX
LEA EAX,[EBX + 0xffff5c58]
PUSH 0x5
PUSH EAX
LEA EAX,[EBX + 0xffff500c]
PUSH EAX
CALL 0x00012120
MOV dword ptr [ESP],ESI
PUSH EDI
PUSH EBP
PUSH EAX
MOV EAX,dword ptr [EBX + 0xffffffcc]
PUSH dword ptr [EAX]
CALL 0x00012310
ADD ESP,0x14
PUSH 0x1
CALL 0x0001adb0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_000195a0(void)\n\n{\n  undefined4 uVar1;\n  uint *puVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  char *pcVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  bool bVar14;\n  int local_150;\n  char *local_14c;\n  char *local_148;\n  uint local_144;\n  uint local_140;\n  char *local_128;\n  int local_124;\n  uint *local_120;\n  uint *local_11c;\n  char *local_108 [2];\n  int local_100 [59];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x195a9;\n  FUN_000190e0();\n  local_14c = (char *)xmalloc(0x1000);\n  local_148 = (char *)xmalloc(0x1000);\n  local_124 = 0;\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);\n  uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  iVar4 = local_124;\n  free(local_14c);\n  free(local_148);\n  local_124 = iVar4 + DAT_0002e520;\n  local_120 = (uint *)xmalloc(local_124 * 0xfc);\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  local_11c = local_120;\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);\n  iVar4 = local_124;\n  uVar1 = DAT_0002e508;\n  local_11c = local_11c + DAT_0002e520 * 0x3f;\n  iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;\n  if (iVar5 - local_124 != 0) {\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    /* WARNING: Subroutine does not return */\n    FUN_0001adb0(1);\n  }\n  FUN_0001ce90(&local_124);\n  free(DAT_0002e524);\n  DAT_0002e520 = local_124;\n  DAT_0002e524 = local_120;\n  DAT_0002e528 = local_11c;\n  return;\n}\n\n" comment (function_definition "void FUN_000195a0(void)\n\n{\n  undefined4 uVar1;\n  uint *puVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  char *pcVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  bool bVar14;\n  int local_150;\n  char *local_14c;\n  char *local_148;\n  uint local_144;\n  uint local_140;\n  char *local_128;\n  int local_124;\n  uint *local_120;\n  uint *local_11c;\n  char *local_108 [2];\n  int local_100 [59];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x195a9;\n  FUN_000190e0();\n  local_14c = (char *)xmalloc(0x1000);\n  local_148 = (char *)xmalloc(0x1000);\n  local_124 = 0;\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);\n  uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  iVar4 = local_124;\n  free(local_14c);\n  free(local_148);\n  local_124 = iVar4 + DAT_0002e520;\n  local_120 = (uint *)xmalloc(local_124 * 0xfc);\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  local_11c = local_120;\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);\n  iVar4 = local_124;\n  uVar1 = DAT_0002e508;\n  local_11c = local_11c + DAT_0002e520 * 0x3f;\n  iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;\n  if (iVar5 - local_124 != 0) {\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    /* WARNING: Subroutine does not return */\n    FUN_0001adb0(1);\n  }\n  FUN_0001ce90(&local_124);\n  free(DAT_0002e524);\n  DAT_0002e520 = local_124;\n  DAT_0002e524 = local_120;\n  DAT_0002e528 = local_11c;\n  return;\n}" primitive_type (function_declarator "FUN_000195a0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 uVar1;\n  uint *puVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  char *pcVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  bool bVar14;\n  int local_150;\n  char *local_14c;\n  char *local_148;\n  uint local_144;\n  uint local_140;\n  char *local_128;\n  int local_124;\n  uint *local_120;\n  uint *local_11c;\n  char *local_108 [2];\n  int local_100 [59];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x195a9;\n  FUN_000190e0();\n  local_14c = (char *)xmalloc(0x1000);\n  local_148 = (char *)xmalloc(0x1000);\n  local_124 = 0;\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);\n  uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  iVar4 = local_124;\n  free(local_14c);\n  free(local_148);\n  local_124 = iVar4 + DAT_0002e520;\n  local_120 = (uint *)xmalloc(local_124 * 0xfc);\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  local_11c = local_120;\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);\n  iVar4 = local_124;\n  uVar1 = DAT_0002e508;\n  local_11c = local_11c + DAT_0002e520 * 0x3f;\n  iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;\n  if (iVar5 - local_124 != 0) {\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    /* WARNING: Subroutine does not return */\n    FUN_0001adb0(1);\n  }\n  FUN_0001ce90(&local_124);\n  free(DAT_0002e524);\n  DAT_0002e520 = local_124;\n  DAT_0002e524 = local_120;\n  DAT_0002e528 = local_11c;\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "int local_150;" primitive_type identifier ;) (declaration "char *local_14c;" primitive_type (pointer_declarator "*local_14c" * identifier) ;) (declaration "char *local_148;" primitive_type (pointer_declarator "*local_148" * identifier) ;) (declaration "uint local_144;" type_identifier identifier ;) (declaration "uint local_140;" type_identifier identifier ;) (declaration "char *local_128;" primitive_type (pointer_declarator "*local_128" * identifier) ;) (declaration "int local_124;" primitive_type identifier ;) (declaration "uint *local_120;" type_identifier (pointer_declarator "*local_120" * identifier) ;) (declaration "uint *local_11c;" type_identifier (pointer_declarator "*local_11c" * identifier) ;) (declaration "char *local_108 [2];" primitive_type (pointer_declarator "*local_108 [2]" * (array_declarator "local_108 [2]" identifier [ number_literal ])) ;) (declaration "int local_100 [59];" primitive_type (array_declarator "local_100 [59]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x195a9;" (assignment_expression "uStack_14 = 0x195a9" identifier = number_literal) ;) (expression_statement "FUN_000190e0();" (call_expression "FUN_000190e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_14c = (char *)xmalloc(0x1000);" (assignment_expression "local_14c = (char *)xmalloc(0x1000)" identifier = (cast_expression "(char *)xmalloc(0x1000)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(0x1000)" identifier (argument_list "(0x1000)" ( number_literal ))))) ;) (expression_statement "local_148 = (char *)xmalloc(0x1000);" (assignment_expression "local_148 = (char *)xmalloc(0x1000)" identifier = (cast_expression "(char *)xmalloc(0x1000)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(0x1000)" identifier (argument_list "(0x1000)" ( number_literal ))))) ;) (expression_statement "local_124 = 0;" (assignment_expression "local_124 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);" (assignment_expression "uVar12 = *(uint *)(DAT_0002e4fc + 0x1c)" identifier = (pointer_expression "*(uint *)(DAT_0002e4fc + 0x1c)" * (cast_expression "(uint *)(DAT_0002e4fc + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x1c)" ( (binary_expression "DAT_0002e4fc + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(DAT_0002e4fc + 0x20);" (assignment_expression "uVar13 = *(uint *)(DAT_0002e4fc + 0x20)" identifier = (pointer_expression "*(uint *)(DAT_0002e4fc + 0x20)" * (cast_expression "(uint *)(DAT_0002e4fc + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x20)" ( (binary_expression "DAT_0002e4fc + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);" (assignment_expression "uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c)" identifier = (binary_expression "uVar12 + *(uint *)(DAT_0002e4fc + 0x2c)" identifier + (pointer_expression "*(uint *)(DAT_0002e4fc + 0x2c)" * (cast_expression "(uint *)(DAT_0002e4fc + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x2c)" ( (binary_expression "DAT_0002e4fc + 0x2c" identifier + number_literal) )))))) ;) (expression_statement "uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));" (assignment_expression "uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" identifier = (binary_expression "uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" (binary_expression "uVar13 + *(int *)(DAT_0002e4fc + 0x30)" identifier + (pointer_expression "*(int *)(DAT_0002e4fc + 0x30)" * (cast_expression "(int *)(DAT_0002e4fc + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x30)" ( (binary_expression "DAT_0002e4fc + 0x30" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" identifier (argument_list "(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" ( identifier , (pointer_expression "*(uint *)(DAT_0002e4fc + 0x2c)" * (cast_expression "(uint *)(DAT_0002e4fc + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x2c)" ( (binary_expression "DAT_0002e4fc + 0x2c" identifier + number_literal) )))) )))))) ;) (if_statement "if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }" if (parenthesized_expression "(uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9))" ( (binary_expression "uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 < uVar8" identifier < identifier) || (binary_expression "uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 - uVar8" identifier - identifier) < (call_expression "(uint)(uVar12 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 < uVar9)" ( (binary_expression "uVar12 < uVar9" identifier < identifier) ))))) )) (compound_statement "{\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }" { (expression_statement "local_150 = 0;" (assignment_expression "local_150 = 0" identifier = number_literal) ;) (expression_statement "local_144 = 0x1000;" (assignment_expression "local_144 = 0x1000" identifier = number_literal) ;) (expression_statement "local_140 = 0x1000;" (assignment_expression "local_140 = 0x1000" identifier = number_literal) ;) (do_statement "do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));" do (compound_statement "{\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    }" { (expression_statement "iVar4 = FUN_00018440(local_108,local_100);" (assignment_expression "iVar4 = FUN_00018440(local_108,local_100)" identifier = (call_expression "FUN_00018440(local_108,local_100)" identifier (argument_list "(local_108,local_100)" ( identifier , identifier )))) ;) (expression_statement "pcVar7 = local_108[0];" (assignment_expression "pcVar7 = local_108[0]" identifier = (subscript_expression "local_108[0]" identifier [ number_literal ])) ;) (if_statement "if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }" if (parenthesized_expression "((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0))))" ( (binary_expression "(iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))" ( (parenthesized_expression "((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0))" ( (binary_expression "(iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)" (parenthesized_expression "(iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0))" ( (comma_expression "iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)" (assignment_expression "iVar4 = local_100[0]" identifier = (subscript_expression "local_100[0]" identifier [ number_literal ])) , (binary_expression "local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)" (binary_expression "local_100[0] != local_150" (subscript_expression "local_100[0]" identifier [ number_literal ]) != identifier) || (parenthesized_expression "(iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)" ( (comma_expression "iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0" (assignment_expression "iVar5 = strcmp(local_14c,local_108[0])" identifier = (call_expression "strcmp(local_14c,local_108[0])" identifier (argument_list "(local_14c,local_108[0])" ( identifier , (subscript_expression "local_108[0]" identifier [ number_literal ]) )))) , (comma_expression "iVar4 = local_150, iVar5 != 0" (assignment_expression "iVar4 = local_150" identifier = identifier) , (binary_expression "iVar5 != 0" identifier != number_literal))) )))) )) || (parenthesized_expression "(iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)" ( (comma_expression "iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0" (assignment_expression "iVar5 = filename_cmp(local_148,local_128)" identifier = (call_expression "filename_cmp(local_148,local_128)" identifier (argument_list "(local_148,local_128)" ( identifier , identifier )))) , (comma_expression "pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0" (assignment_expression "pcVar7 = local_108[0]" identifier = (subscript_expression "local_108[0]" identifier [ number_literal ])) , (comma_expression "iVar4 = local_100[0],\n          iVar5 != 0" (assignment_expression "iVar4 = local_100[0]" identifier = (subscript_expression "local_100[0]" identifier [ number_literal ])) , (binary_expression "iVar5 != 0" identifier != number_literal)))) ))) )) ))) )) (compound_statement "{\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }" { (expression_statement "local_124 = local_124 + 1;" (assignment_expression "local_124 = local_124 + 1" identifier = (binary_expression "local_124 + 1" identifier + number_literal)) ;) (expression_statement "sVar3 = strlen(pcVar7);" (assignment_expression "sVar3 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (if_statement "if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }" if (parenthesized_expression "(local_140 <= sVar3)" ( (binary_expression "local_140 <= sVar3" identifier <= identifier) )) (compound_statement "{\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }" { (expression_statement "local_140 = sVar3 + 0x400;" (assignment_expression "local_140 = sVar3 + 0x400" identifier = (binary_expression "sVar3 + 0x400" identifier + number_literal)) ;) (expression_statement "free(local_14c);" (call_expression "free(local_14c)" identifier (argument_list "(local_14c)" ( identifier ))) ;) (expression_statement "local_14c = (char *)xmalloc(local_140);" (assignment_expression "local_14c = (char *)xmalloc(local_140)" identifier = (cast_expression "(char *)xmalloc(local_140)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_140)" identifier (argument_list "(local_140)" ( identifier ))))) ;) (expression_statement "pcVar7 = local_108[0];" (assignment_expression "pcVar7 = local_108[0]" identifier = (subscript_expression "local_108[0]" identifier [ number_literal ])) ;) })) (expression_statement "strcpy(local_14c,pcVar7);" (call_expression "strcpy(local_14c,pcVar7)" identifier (argument_list "(local_14c,pcVar7)" ( identifier , identifier ))) ;) (expression_statement "sVar3 = strlen(local_128);" (assignment_expression "sVar3 = strlen(local_128)" identifier = (call_expression "strlen(local_128)" identifier (argument_list "(local_128)" ( identifier )))) ;) (if_statement "if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }" if (parenthesized_expression "(local_144 <= sVar3)" ( (binary_expression "local_144 <= sVar3" identifier <= identifier) )) (compound_statement "{\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }" { (expression_statement "local_144 = sVar3 + 0x400;" (assignment_expression "local_144 = sVar3 + 0x400" identifier = (binary_expression "sVar3 + 0x400" identifier + number_literal)) ;) (expression_statement "free(local_148);" (call_expression "free(local_148)" identifier (argument_list "(local_148)" ( identifier ))) ;) (expression_statement "local_148 = (char *)xmalloc(local_144);" (assignment_expression "local_148 = (char *)xmalloc(local_144)" identifier = (cast_expression "(char *)xmalloc(local_144)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_144)" identifier (argument_list "(local_144)" ( identifier ))))) ;) })) (expression_statement "strcpy(local_148,local_128);" (call_expression "strcpy(local_148,local_128)" identifier (argument_list "(local_148,local_128)" ( identifier , identifier ))) ;) (expression_statement "local_150 = iVar4;" (assignment_expression "local_150 = iVar4" identifier = identifier) ;) })) (expression_statement "bVar14 = CARRY4(uVar12,DAT_0002e120);" (assignment_expression "bVar14 = CARRY4(uVar12,DAT_0002e120)" identifier = (call_expression "CARRY4(uVar12,DAT_0002e120)" identifier (argument_list "(uVar12,DAT_0002e120)" ( identifier , identifier )))) ;) (expression_statement "uVar12 = uVar12 + DAT_0002e120;" (assignment_expression "uVar12 = uVar12 + DAT_0002e120" identifier = (binary_expression "uVar12 + DAT_0002e120" identifier + identifier)) ;) (expression_statement "uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;" (assignment_expression "uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14" identifier = (binary_expression "uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14" (binary_expression "uVar13 + ((int)DAT_0002e120 >> 0x1f)" identifier + (parenthesized_expression "((int)DAT_0002e120 >> 0x1f)" ( (binary_expression "(int)DAT_0002e120 >> 0x1f" (cast_expression "(int)DAT_0002e120" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9))" ( (binary_expression "uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 < uVar8" identifier < identifier) || (binary_expression "uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 - uVar8" identifier - identifier) < (call_expression "(uint)(uVar12 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 < uVar9)" ( (binary_expression "uVar12 < uVar9" identifier < identifier) ))))) )) ;) })) (expression_statement "iVar4 = local_124;" (assignment_expression "iVar4 = local_124" identifier = identifier) ;) (expression_statement "free(local_14c);" (call_expression "free(local_14c)" identifier (argument_list "(local_14c)" ( identifier ))) ;) (expression_statement "free(local_148);" (call_expression "free(local_148)" identifier (argument_list "(local_148)" ( identifier ))) ;) (expression_statement "local_124 = iVar4 + DAT_0002e520;" (assignment_expression "local_124 = iVar4 + DAT_0002e520" identifier = (binary_expression "iVar4 + DAT_0002e520" identifier + identifier)) ;) (expression_statement "local_120 = (uint *)xmalloc(local_124 * 0xfc);" (assignment_expression "local_120 = (uint *)xmalloc(local_124 * 0xfc)" identifier = (cast_expression "(uint *)xmalloc(local_124 * 0xfc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_124 * 0xfc)" identifier (argument_list "(local_124 * 0xfc)" ( (binary_expression "local_124 * 0xfc" identifier * number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);" (assignment_expression "uVar12 = *(uint *)(DAT_0002e4fc + 0x1c)" identifier = (pointer_expression "*(uint *)(DAT_0002e4fc + 0x1c)" * (cast_expression "(uint *)(DAT_0002e4fc + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x1c)" ( (binary_expression "DAT_0002e4fc + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(DAT_0002e4fc + 0x20);" (assignment_expression "uVar13 = *(uint *)(DAT_0002e4fc + 0x20)" identifier = (pointer_expression "*(uint *)(DAT_0002e4fc + 0x20)" * (cast_expression "(uint *)(DAT_0002e4fc + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x20)" ( (binary_expression "DAT_0002e4fc + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_11c = local_120;" (assignment_expression "local_11c = local_120" identifier = identifier) ;) (if_statement "if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }" if (parenthesized_expression "(uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9))" ( (binary_expression "uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 < uVar8" identifier < identifier) || (binary_expression "uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 - uVar8" identifier - identifier) < (call_expression "(uint)(uVar12 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 < uVar9)" ( (binary_expression "uVar12 < uVar9" identifier < identifier) ))))) )) (compound_statement "{\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }" { (expression_statement "puVar11 = (uint *)0x0;" (assignment_expression "puVar11 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));" do (compound_statement "{\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    }" { (expression_statement "FUN_0001ce40(local_11c);" (call_expression "FUN_0001ce40(local_11c)" identifier (argument_list "(local_11c)" ( identifier ))) ;) (expression_statement "iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);" (assignment_expression "iVar4 = FUN_00018440(local_11c + 4,local_11c + 6)" identifier = (call_expression "FUN_00018440(local_11c + 4,local_11c + 6)" identifier (argument_list "(local_11c + 4,local_11c + 6)" ( (binary_expression "local_11c + 4" identifier + number_literal) , (binary_expression "local_11c + 6" identifier + number_literal) )))) ;) (expression_statement "puVar10 = local_11c;" (assignment_expression "puVar10 = local_11c" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }" { (expression_statement "pcVar7 = (char *)local_11c[4];" (assignment_expression "pcVar7 = (char *)local_11c[4]" identifier = (cast_expression "(char *)local_11c[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_11c[4]" identifier [ number_literal ]))) ;) (if_statement "if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }" if (parenthesized_expression "(puVar11 == (uint *)0x0)" ( (binary_expression "puVar11 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }" { (expression_statement "uVar6 = xstrdup(pcVar7);" (assignment_expression "uVar6 = xstrdup(pcVar7)" identifier = (call_expression "xstrdup(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "puVar11 = local_11c;" (assignment_expression "puVar11 = local_11c" identifier = identifier) ;) (expression_statement "puVar10[4] = uVar6;" (assignment_expression "puVar10[4] = uVar6" (subscript_expression "puVar10[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar6 = FUN_0001c820(local_128);" (assignment_expression "uVar6 = FUN_0001c820(local_128)" identifier = (call_expression "FUN_0001c820(local_128)" identifier (argument_list "(local_128)" ( identifier )))) ;) (expression_statement "puVar11[5] = uVar6;" (assignment_expression "puVar11[5] = uVar6" (subscript_expression "puVar11[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*local_11c = uVar12;" (assignment_expression "*local_11c = uVar12" (pointer_expression "*local_11c" * identifier) = identifier) ;) (expression_statement "local_11c[1] = uVar13;" (assignment_expression "local_11c[1] = uVar13" (subscript_expression "local_11c[1]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);" statement_identifier : (expression_statement "iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);" (assignment_expression "iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13)" identifier = (call_expression "FUN_0001d480(&DAT_0002e520,uVar12,uVar13)" identifier (argument_list "(&DAT_0002e520,uVar12,uVar13)" ( (pointer_expression "&DAT_0002e520" & identifier) , identifier , identifier )))) ;)) (expression_statement "puVar10 = local_11c;" (assignment_expression "puVar10 = local_11c" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }" { (expression_statement "*(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;" (assignment_expression "*(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(local_11c + 7)" * (cast_expression "(byte *)(local_11c + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_11c + 7)" ( (binary_expression "local_11c + 7" identifier + number_literal) )))) = (binary_expression "(byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2" (binary_expression "(byte)local_11c[7] & 0xfd" (cast_expression "(byte)local_11c[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_11c[7]" identifier [ number_literal ])) & number_literal) | (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" * (cast_expression "(byte *)(iVar4 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal))) ;) })) }) (else_clause "else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }" else (compound_statement "{\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }" { (if_statement "if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }" if (parenthesized_expression "((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0))" ( (binary_expression "(puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)" (parenthesized_expression "(puVar11[6] == local_11c[6])" ( (binary_expression "puVar11[6] == local_11c[6]" (subscript_expression "puVar11[6]" identifier [ number_literal ]) == (subscript_expression "local_11c[6]" identifier [ number_literal ])) )) && (parenthesized_expression "(iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)" ( (comma_expression "iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0" (assignment_expression "iVar4 = strcmp((char *)puVar11[4],pcVar7)" identifier = (call_expression "strcmp((char *)puVar11[4],pcVar7)" identifier (argument_list "((char *)puVar11[4],pcVar7)" ( (cast_expression "(char *)puVar11[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[4]" identifier [ number_literal ])) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }" { (expression_statement "iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);" (assignment_expression "iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128)" identifier = (call_expression "filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128)" identifier (argument_list "(*(undefined4 *)(puVar11[5] + 4),local_128)" ( (pointer_expression "*(undefined4 *)(puVar11[5] + 4)" * (cast_expression "(undefined4 *)(puVar11[5] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11[5] + 4)" ( (binary_expression "puVar11[5] + 4" (subscript_expression "puVar11[5]" identifier [ number_literal ]) + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_000198e5;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000198e5;" goto statement_identifier ;)) (expression_statement "pcVar7 = (char *)local_11c[4];" (assignment_expression "pcVar7 = (char *)local_11c[4]" identifier = (cast_expression "(char *)local_11c[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_11c[4]" identifier [ number_literal ]))) ;) (expression_statement "puVar10 = local_11c;" (assignment_expression "puVar10 = local_11c" identifier = identifier) ;) })) (expression_statement "uVar6 = xstrdup(pcVar7);" (assignment_expression "uVar6 = xstrdup(pcVar7)" identifier = (call_expression "xstrdup(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "puVar2 = local_11c;" (assignment_expression "puVar2 = local_11c" identifier = identifier) ;) (expression_statement "puVar10[4] = uVar6;" (assignment_expression "puVar10[4] = uVar6" (subscript_expression "puVar10[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar6 = FUN_0001c820(local_128);" (assignment_expression "uVar6 = FUN_0001c820(local_128)" identifier = (call_expression "FUN_0001c820(local_128)" identifier (argument_list "(local_128)" ( identifier )))) ;) (expression_statement "puVar10 = local_11c;" (assignment_expression "puVar10 = local_11c" identifier = identifier) ;) (expression_statement "puVar2[5] = uVar6;" (assignment_expression "puVar2[5] = uVar6" (subscript_expression "puVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar6 = puVar11[5];" (assignment_expression "uVar6 = puVar11[5]" identifier = (subscript_expression "puVar11[5]" identifier [ number_literal ])) ;) (expression_statement "*local_11c = uVar12;" (assignment_expression "*local_11c = uVar12" (pointer_expression "*local_11c" * identifier) = identifier) ;) (expression_statement "local_11c[1] = uVar13;" (assignment_expression "local_11c[1] = uVar13" (subscript_expression "local_11c[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;" if (parenthesized_expression "((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))" ( (binary_expression "(local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0)" (parenthesized_expression "(local_11c[5] != uVar6)" ( (binary_expression "local_11c[5] != uVar6" (subscript_expression "local_11c[5]" identifier [ number_literal ]) != identifier) )) || (parenthesized_expression "(iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0)" ( (comma_expression "iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0" (assignment_expression "iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4])" identifier = (call_expression "strcmp((char *)local_11c[4],(char *)puVar11[4])" identifier (argument_list "((char *)local_11c[4],(char *)puVar11[4])" ( (cast_expression "(char *)local_11c[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_11c[4]" identifier [ number_literal ])) , (cast_expression "(char *)puVar11[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[4]" identifier [ number_literal ])) )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_000198a0;" goto statement_identifier ;)) (expression_statement "*(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;" (assignment_expression "*(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2" (pointer_expression "*(byte *)(puVar10 + 7)" * (cast_expression "(byte *)(puVar10 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 7)" ( (binary_expression "puVar10 + 7" identifier + number_literal) )))) = (binary_expression "(byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2" (binary_expression "(byte)puVar10[7] & 0xfd" (cast_expression "(byte)puVar10[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar10[7]" identifier [ number_literal ])) & number_literal) | (binary_expression "(byte)puVar11[7] & 2" (cast_expression "(byte)puVar11[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar11[7]" identifier [ number_literal ])) & number_literal))) ;) }))) (expression_statement "puVar11 = puVar10;" (assignment_expression "puVar11 = puVar10" identifier = identifier) ;) (if_statement "if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }" if (parenthesized_expression "(((byte)DAT_0002e158 & 0x80) != 0)" ( (binary_expression "((byte)DAT_0002e158 & 0x80) != 0" (parenthesized_expression "((byte)DAT_0002e158 & 0x80)" ( (binary_expression "(byte)DAT_0002e158 & 0x80" (cast_expression "(byte)DAT_0002e158" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }" { (expression_statement "printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);" (call_expression "printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10)" identifier (argument_list "("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10)" ( (string_literal ""[core_create_line_syms] %lu %s 0x%lx\n"" " string_content escape_sequence ") , (binary_expression "((int)puVar10 - (int)local_120 >> 2) * -0x41041041" (parenthesized_expression "((int)puVar10 - (int)local_120 >> 2)" ( (binary_expression "(int)puVar10 - (int)local_120 >> 2" (binary_expression "(int)puVar10 - (int)local_120" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_120" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) , (subscript_expression "puVar10[4]" identifier [ number_literal ]) , (pointer_expression "*puVar10" * identifier) ))) ;) (expression_statement "puVar11 = local_11c;" (assignment_expression "puVar11 = local_11c" identifier = identifier) ;) })) (expression_statement "local_11c = puVar11 + 0x3f;" (assignment_expression "local_11c = puVar11 + 0x3f" identifier = (binary_expression "puVar11 + 0x3f" identifier + number_literal)) ;) (expression_statement "puVar11 = puVar10;" (assignment_expression "puVar11 = puVar10" identifier = identifier) ;) })) (labeled_statement "LAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);" statement_identifier : (expression_statement "bVar14 = CARRY4(uVar12,DAT_0002e120);" (assignment_expression "bVar14 = CARRY4(uVar12,DAT_0002e120)" identifier = (call_expression "CARRY4(uVar12,DAT_0002e120)" identifier (argument_list "(uVar12,DAT_0002e120)" ( identifier , identifier )))) ;)) (expression_statement "uVar12 = uVar12 + DAT_0002e120;" (assignment_expression "uVar12 = uVar12 + DAT_0002e120" identifier = (binary_expression "uVar12 + DAT_0002e120" identifier + identifier)) ;) (expression_statement "uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;" (assignment_expression "uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14" identifier = (binary_expression "uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14" (binary_expression "uVar13 + ((int)DAT_0002e120 >> 0x1f)" identifier + (parenthesized_expression "((int)DAT_0002e120 >> 0x1f)" ( (binary_expression "(int)DAT_0002e120 >> 0x1f" (cast_expression "(int)DAT_0002e120" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9))" ( (binary_expression "uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 < uVar8" identifier < identifier) || (binary_expression "uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 - uVar8" identifier - identifier) < (call_expression "(uint)(uVar12 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 < uVar9)" ( (binary_expression "uVar12 < uVar9" identifier < identifier) ))))) )) ;) })) (expression_statement "memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);" (call_expression "memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc)" identifier (argument_list "(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc)" ( identifier , identifier , (binary_expression "DAT_0002e520 * 0xfc" identifier * number_literal) ))) ;) (expression_statement "iVar4 = local_124;" (assignment_expression "iVar4 = local_124" identifier = identifier) ;) (expression_statement "uVar1 = DAT_0002e508;" (assignment_expression "uVar1 = DAT_0002e508" identifier = identifier) ;) (expression_statement "local_11c = local_11c + DAT_0002e520 * 0x3f;" (assignment_expression "local_11c = local_11c + DAT_0002e520 * 0x3f" identifier = (binary_expression "local_11c + DAT_0002e520 * 0x3f" identifier + (binary_expression "DAT_0002e520 * 0x3f" identifier * number_literal))) ;) (expression_statement "iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;" (assignment_expression "iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041" identifier = (binary_expression "((int)local_11c - (int)local_120 >> 2) * -0x41041041" (parenthesized_expression "((int)local_11c - (int)local_120 >> 2)" ( (binary_expression "(int)local_11c - (int)local_120 >> 2" (binary_expression "(int)local_11c - (int)local_120" (cast_expression "(int)local_11c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_120" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;) (if_statement "if (iVar5 - local_124 != 0) {\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    /* WARNING: Subroutine does not return */\n    FUN_0001adb0(1);\n  }" if (parenthesized_expression "(iVar5 - local_124 != 0)" ( (binary_expression "iVar5 - local_124 != 0" (binary_expression "iVar5 - local_124" identifier - identifier) != number_literal) )) (compound_statement "{\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    /* WARNING: Subroutine does not return */\n    FUN_0001adb0(1);\n  }" { (expression_statement "pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);" (assignment_expression "pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508)" identifier = (cast_expression "(char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508)" identifier (argument_list "("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508)" ( (string_literal ""gprof"" " string_content ") , (string_literal ""%s: somebody miscounted: ltab.len=%d instead of %ld\n"" " string_content escape_sequence ") , number_literal , (pointer_expression "&DAT_0002e508" & identifier) ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);" (call_expression "fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5)" identifier (argument_list "(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5)" ( (pointer_expression "*(FILE **)PTR_stderr_0002cfcc" * (cast_expression "(FILE **)PTR_stderr_0002cfcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier , identifier , identifier ))) ;) comment (expression_statement "FUN_0001adb0(1);" (call_expression "FUN_0001adb0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })) (expression_statement "FUN_0001ce90(&local_124);" (call_expression "FUN_0001ce90(&local_124)" identifier (argument_list "(&local_124)" ( (pointer_expression "&local_124" & identifier) ))) ;) (expression_statement "free(DAT_0002e524);" (call_expression "free(DAT_0002e524)" identifier (argument_list "(DAT_0002e524)" ( identifier ))) ;) (expression_statement "DAT_0002e520 = local_124;" (assignment_expression "DAT_0002e520 = local_124" identifier = identifier) ;) (expression_statement "DAT_0002e524 = local_120;" (assignment_expression "DAT_0002e524 = local_120" identifier = identifier) ;) (expression_statement "DAT_0002e528 = local_11c;" (assignment_expression "DAT_0002e528 = local_11c" identifier = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid core_create_line_syms(void)\n\n{\n  uint uVar1;\n  Sym *pSVar2;\n  size_t sVar3;\n  bfd_boolean bVar4;\n  int iVar5;\n  char *pcVar6;\n  Source_File *pSVar7;\n  char *__format;\n  char **ppcVar8;\n  char **ppcVar9;\n  Sym *pSVar10;\n  Sym *pSVar11;\n  char **ppcVar12;\n  int iVar13;\n  char **ppcVar14;\n  bool bVar15;\n  int local_150;\n  char *local_14c;\n  char *local_148;\n  uint local_144;\n  uint local_140;\n  char *filename;\n  Sym_Table ltab;\n  Sym dummy;\n  \n  core_create_function_syms();\n  local_14c = (char *)xmalloc(0x1000);\n  local_148 = (char *)xmalloc(0x1000);\n  ltab.len = 0;\n  ppcVar12 = *(char ***)&core_text_sect->vma;\n  ppcVar14 = *(char ***)((int)&core_text_sect->vma + 4);\n  ppcVar9 = (char **)((int)ppcVar12 + (int)core_text_sect->size);\n  ppcVar8 = (char **)((int)ppcVar14 +\n                     (uint)CARRY4((uint)ppcVar12,(uint)core_text_sect->size) +\n                     *(int *)((int)&core_text_sect->size + 4));\n  if (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      bVar4 = get_src_info(CONCAT44(&dummy.line_num,&dummy.name),ppcVar12,ppcVar14,(int *)&filename)\n      ;\n      pcVar6 = dummy.name;\n      if ((bVar4 != 0) &&\n         (((iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0)))) {\n        ltab.len = ltab.len + 1;\n        sVar3 = strlen(pcVar6);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar6 = dummy.name;\n        }\n        strcpy(local_14c,pcVar6);\n        pcVar6 = filename;\n        sVar3 = strlen(filename);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n          pcVar6 = filename;\n        }\n        strcpy(local_148,pcVar6);\n        local_150 = iVar13;\n      }\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            );\n  }\n  uVar1 = ltab.len;\n  free(local_14c);\n  free(local_148);\n  ltab.len = uVar1 + symtab.len;\n  ltab.base = (Sym *)xmalloc(ltab.len * 0xfc);\n  ppcVar12 = *(char ***)&core_text_sect->vma;\n  ppcVar14 = *(char ***)((int)&core_text_sect->vma + 4);\n  ltab.limit = ltab.base;\n  if (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)) {\n    pSVar11 = (Sym *)0x0;\n    do {\n      sym_init(ltab.limit);\n      bVar4 = get_src_info(CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name),ppcVar12,ppcVar14,\n                           (int *)&filename);\n      pSVar10 = ltab.limit;\n      if (bVar4 != 0) {\n        pcVar6 = (ltab.limit)->name;\n        if (pSVar11 == (Sym *)0x0) {\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar11 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar11->file = pSVar7;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\nLAB_000198a0:\n          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));\n          pSVar10 = ltab.limit;\n          if (pSVar11 != (Sym *)0x0) {\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }\n        }\n        else {\n          if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar2 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar10 = ltab.limit;\n          pSVar2->file = pSVar7;\n          pSVar7 = pSVar11->file;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\n          if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;\n          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n        }\n        pSVar11 = pSVar10;\n        if (((byte)debug_level & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                );\n          pSVar11 = ltab.limit;\n        }\n        ltab.limit = pSVar11 + 1;\n        pSVar11 = pSVar10;\n      }\nLAB_000198e5:\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            );\n  }\n  memcpy(ltab.limit,symtab.base,symtab.len * 0xfc);\n  uVar1 = ltab.len;\n  pcVar6 = whoami;\n  ltab.limit = ltab.limit + symtab.len;\n  iVar13 = ((int)ltab.limit - (int)ltab.base >> 2) * -0x41041041;\n  if (iVar13 - ltab.len != 0) {\n    __format = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                                 &whoami);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,uVar1,iVar13);\n                    /* WARNING: Subroutine does not return */\n    done(1);\n  }\n  symtab_finalize(&ltab);\n  free(symtab.base);\n  symtab.len = ltab.len;\n  symtab.base = ltab.base;\n  symtab.limit = ltab.limit;\n  return;\n}\n\n" comment comment (function_definition "void core_create_line_syms(void)\n\n{\n  uint uVar1;\n  Sym *pSVar2;\n  size_t sVar3;\n  bfd_boolean bVar4;\n  int iVar5;\n  char *pcVar6;\n  Source_File *pSVar7;\n  char *__format;\n  char **ppcVar8;\n  char **ppcVar9;\n  Sym *pSVar10;\n  Sym *pSVar11;\n  char **ppcVar12;\n  int iVar13;\n  char **ppcVar14;\n  bool bVar15;\n  int local_150;\n  char *local_14c;\n  char *local_148;\n  uint local_144;\n  uint local_140;\n  char *filename;\n  Sym_Table ltab;\n  Sym dummy;\n  \n  core_create_function_syms();\n  local_14c = (char *)xmalloc(0x1000);\n  local_148 = (char *)xmalloc(0x1000);\n  ltab.len = 0;\n  ppcVar12 = *(char ***)&core_text_sect->vma;\n  ppcVar14 = *(char ***)((int)&core_text_sect->vma + 4);\n  ppcVar9 = (char **)((int)ppcVar12 + (int)core_text_sect->size);\n  ppcVar8 = (char **)((int)ppcVar14 +\n                     (uint)CARRY4((uint)ppcVar12,(uint)core_text_sect->size) +\n                     *(int *)((int)&core_text_sect->size + 4));\n  if (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      bVar4 = get_src_info(CONCAT44(&dummy.line_num,&dummy.name),ppcVar12,ppcVar14,(int *)&filename)\n      ;\n      pcVar6 = dummy.name;\n      if ((bVar4 != 0) &&\n         (((iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0)))) {\n        ltab.len = ltab.len + 1;\n        sVar3 = strlen(pcVar6);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar6 = dummy.name;\n        }\n        strcpy(local_14c,pcVar6);\n        pcVar6 = filename;\n        sVar3 = strlen(filename);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n          pcVar6 = filename;\n        }\n        strcpy(local_148,pcVar6);\n        local_150 = iVar13;\n      }\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            );\n  }\n  uVar1 = ltab.len;\n  free(local_14c);\n  free(local_148);\n  ltab.len = uVar1 + symtab.len;\n  ltab.base = (Sym *)xmalloc(ltab.len * 0xfc);\n  ppcVar12 = *(char ***)&core_text_sect->vma;\n  ppcVar14 = *(char ***)((int)&core_text_sect->vma + 4);\n  ltab.limit = ltab.base;\n  if (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)) {\n    pSVar11 = (Sym *)0x0;\n    do {\n      sym_init(ltab.limit);\n      bVar4 = get_src_info(CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name),ppcVar12,ppcVar14,\n                           (int *)&filename);\n      pSVar10 = ltab.limit;\n      if (bVar4 != 0) {\n        pcVar6 = (ltab.limit)->name;\n        if (pSVar11 == (Sym *)0x0) {\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar11 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar11->file = pSVar7;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\nLAB_000198a0:\n          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));\n          pSVar10 = ltab.limit;\n          if (pSVar11 != (Sym *)0x0) {\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }\n        }\n        else {\n          if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar2 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar10 = ltab.limit;\n          pSVar2->file = pSVar7;\n          pSVar7 = pSVar11->file;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\n          if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;\n          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n        }\n        pSVar11 = pSVar10;\n        if (((byte)debug_level & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                );\n          pSVar11 = ltab.limit;\n        }\n        ltab.limit = pSVar11 + 1;\n        pSVar11 = pSVar10;\n      }\nLAB_000198e5:\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            );\n  }\n  memcpy(ltab.limit,symtab.base,symtab.len * 0xfc);\n  uVar1 = ltab.len;\n  pcVar6 = whoami;\n  ltab.limit = ltab.limit + symtab.len;\n  iVar13 = ((int)ltab.limit - (int)ltab.base >> 2) * -0x41041041;\n  if (iVar13 - ltab.len != 0) {\n    __format = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                                 &whoami);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,uVar1,iVar13);\n                    /* WARNING: Subroutine does not return */\n    done(1);\n  }\n  symtab_finalize(&ltab);\n  free(symtab.base);\n  symtab.len = ltab.len;\n  symtab.base = ltab.base;\n  symtab.limit = ltab.limit;\n  return;\n}" primitive_type (function_declarator "core_create_line_syms(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  Sym *pSVar2;\n  size_t sVar3;\n  bfd_boolean bVar4;\n  int iVar5;\n  char *pcVar6;\n  Source_File *pSVar7;\n  char *__format;\n  char **ppcVar8;\n  char **ppcVar9;\n  Sym *pSVar10;\n  Sym *pSVar11;\n  char **ppcVar12;\n  int iVar13;\n  char **ppcVar14;\n  bool bVar15;\n  int local_150;\n  char *local_14c;\n  char *local_148;\n  uint local_144;\n  uint local_140;\n  char *filename;\n  Sym_Table ltab;\n  Sym dummy;\n  \n  core_create_function_syms();\n  local_14c = (char *)xmalloc(0x1000);\n  local_148 = (char *)xmalloc(0x1000);\n  ltab.len = 0;\n  ppcVar12 = *(char ***)&core_text_sect->vma;\n  ppcVar14 = *(char ***)((int)&core_text_sect->vma + 4);\n  ppcVar9 = (char **)((int)ppcVar12 + (int)core_text_sect->size);\n  ppcVar8 = (char **)((int)ppcVar14 +\n                     (uint)CARRY4((uint)ppcVar12,(uint)core_text_sect->size) +\n                     *(int *)((int)&core_text_sect->size + 4));\n  if (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      bVar4 = get_src_info(CONCAT44(&dummy.line_num,&dummy.name),ppcVar12,ppcVar14,(int *)&filename)\n      ;\n      pcVar6 = dummy.name;\n      if ((bVar4 != 0) &&\n         (((iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0)))) {\n        ltab.len = ltab.len + 1;\n        sVar3 = strlen(pcVar6);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar6 = dummy.name;\n        }\n        strcpy(local_14c,pcVar6);\n        pcVar6 = filename;\n        sVar3 = strlen(filename);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n          pcVar6 = filename;\n        }\n        strcpy(local_148,pcVar6);\n        local_150 = iVar13;\n      }\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            );\n  }\n  uVar1 = ltab.len;\n  free(local_14c);\n  free(local_148);\n  ltab.len = uVar1 + symtab.len;\n  ltab.base = (Sym *)xmalloc(ltab.len * 0xfc);\n  ppcVar12 = *(char ***)&core_text_sect->vma;\n  ppcVar14 = *(char ***)((int)&core_text_sect->vma + 4);\n  ltab.limit = ltab.base;\n  if (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)) {\n    pSVar11 = (Sym *)0x0;\n    do {\n      sym_init(ltab.limit);\n      bVar4 = get_src_info(CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name),ppcVar12,ppcVar14,\n                           (int *)&filename);\n      pSVar10 = ltab.limit;\n      if (bVar4 != 0) {\n        pcVar6 = (ltab.limit)->name;\n        if (pSVar11 == (Sym *)0x0) {\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar11 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar11->file = pSVar7;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\nLAB_000198a0:\n          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));\n          pSVar10 = ltab.limit;\n          if (pSVar11 != (Sym *)0x0) {\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }\n        }\n        else {\n          if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar2 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar10 = ltab.limit;\n          pSVar2->file = pSVar7;\n          pSVar7 = pSVar11->file;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\n          if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;\n          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n        }\n        pSVar11 = pSVar10;\n        if (((byte)debug_level & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                );\n          pSVar11 = ltab.limit;\n        }\n        ltab.limit = pSVar11 + 1;\n        pSVar11 = pSVar10;\n      }\nLAB_000198e5:\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            );\n  }\n  memcpy(ltab.limit,symtab.base,symtab.len * 0xfc);\n  uVar1 = ltab.len;\n  pcVar6 = whoami;\n  ltab.limit = ltab.limit + symtab.len;\n  iVar13 = ((int)ltab.limit - (int)ltab.base >> 2) * -0x41041041;\n  if (iVar13 - ltab.len != 0) {\n    __format = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                                 &whoami);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,uVar1,iVar13);\n                    /* WARNING: Subroutine does not return */\n    done(1);\n  }\n  symtab_finalize(&ltab);\n  free(symtab.base);\n  symtab.len = ltab.len;\n  symtab.base = ltab.base;\n  symtab.limit = ltab.limit;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "Sym *pSVar2;" type_identifier (pointer_declarator "*pSVar2" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "bfd_boolean bVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "Source_File *pSVar7;" type_identifier (pointer_declarator "*pSVar7" * identifier) ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "char **ppcVar8;" primitive_type (pointer_declarator "**ppcVar8" * (pointer_declarator "*ppcVar8" * identifier)) ;) (declaration "char **ppcVar9;" primitive_type (pointer_declarator "**ppcVar9" * (pointer_declarator "*ppcVar9" * identifier)) ;) (declaration "Sym *pSVar10;" type_identifier (pointer_declarator "*pSVar10" * identifier) ;) (declaration "Sym *pSVar11;" type_identifier (pointer_declarator "*pSVar11" * identifier) ;) (declaration "char **ppcVar12;" primitive_type (pointer_declarator "**ppcVar12" * (pointer_declarator "*ppcVar12" * identifier)) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "char **ppcVar14;" primitive_type (pointer_declarator "**ppcVar14" * (pointer_declarator "*ppcVar14" * identifier)) ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "int local_150;" primitive_type identifier ;) (declaration "char *local_14c;" primitive_type (pointer_declarator "*local_14c" * identifier) ;) (declaration "char *local_148;" primitive_type (pointer_declarator "*local_148" * identifier) ;) (declaration "uint local_144;" type_identifier identifier ;) (declaration "uint local_140;" type_identifier identifier ;) (declaration "char *filename;" primitive_type (pointer_declarator "*filename" * identifier) ;) (declaration "Sym_Table ltab;" type_identifier identifier ;) (declaration "Sym dummy;" type_identifier identifier ;) (expression_statement "core_create_function_syms();" (call_expression "core_create_function_syms()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_14c = (char *)xmalloc(0x1000);" (assignment_expression "local_14c = (char *)xmalloc(0x1000)" identifier = (cast_expression "(char *)xmalloc(0x1000)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(0x1000)" identifier (argument_list "(0x1000)" ( number_literal ))))) ;) (expression_statement "local_148 = (char *)xmalloc(0x1000);" (assignment_expression "local_148 = (char *)xmalloc(0x1000)" identifier = (cast_expression "(char *)xmalloc(0x1000)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(0x1000)" identifier (argument_list "(0x1000)" ( number_literal ))))) ;) (expression_statement "ltab.len = 0;" (assignment_expression "ltab.len = 0" (field_expression "ltab.len" identifier . field_identifier) = number_literal) ;) (expression_statement "ppcVar12 = *(char ***)&core_text_sect->vma;" (assignment_expression "ppcVar12 = *(char ***)&core_text_sect->vma" identifier = (pointer_expression "*(char ***)&core_text_sect->vma" * (cast_expression "(char ***)&core_text_sect->vma" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&core_text_sect->vma" & (field_expression "core_text_sect->vma" identifier -> field_identifier))))) ;) (expression_statement "ppcVar14 = *(char ***)((int)&core_text_sect->vma + 4);" (assignment_expression "ppcVar14 = *(char ***)((int)&core_text_sect->vma + 4)" identifier = (pointer_expression "*(char ***)((int)&core_text_sect->vma + 4)" * (cast_expression "(char ***)((int)&core_text_sect->vma + 4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)&core_text_sect->vma + 4)" ( (binary_expression "(int)&core_text_sect->vma + 4" (cast_expression "(int)&core_text_sect->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&core_text_sect->vma" & (field_expression "core_text_sect->vma" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "ppcVar9 = (char **)((int)ppcVar12 + (int)core_text_sect->size);" (assignment_expression "ppcVar9 = (char **)((int)ppcVar12 + (int)core_text_sect->size)" identifier = (cast_expression "(char **)((int)ppcVar12 + (int)core_text_sect->size)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar12 + (int)core_text_sect->size)" ( (binary_expression "(int)ppcVar12 + (int)core_text_sect->size" (cast_expression "(int)ppcVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)core_text_sect->size" ( (type_descriptor "int" primitive_type) ) (field_expression "core_text_sect->size" identifier -> field_identifier))) )))) ;) (expression_statement "ppcVar8 = (char **)((int)ppcVar14 +\n                     (uint)CARRY4((uint)ppcVar12,(uint)core_text_sect->size) +\n                     *(int *)((int)&core_text_sect->size + 4));" (assignment_expression "ppcVar8 = (char **)((int)ppcVar14 +\n                     (uint)CARRY4((uint)ppcVar12,(uint)core_text_sect->size) +\n                     *(int *)((int)&core_text_sect->size + 4))" identifier = (cast_expression "(char **)((int)ppcVar14 +\n                     (uint)CARRY4((uint)ppcVar12,(uint)core_text_sect->size) +\n                     *(int *)((int)&core_text_sect->size + 4))" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar14 +\n                     (uint)CARRY4((uint)ppcVar12,(uint)core_text_sect->size) +\n                     *(int *)((int)&core_text_sect->size + 4))" ( (binary_expression "(int)ppcVar14 +\n                     (uint)CARRY4((uint)ppcVar12,(uint)core_text_sect->size) +\n                     *(int *)((int)&core_text_sect->size + 4)" (binary_expression "(int)ppcVar14 +\n                     (uint)CARRY4((uint)ppcVar12,(uint)core_text_sect->size)" (cast_expression "(int)ppcVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)CARRY4((uint)ppcVar12,(uint)core_text_sect->size)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)ppcVar12,(uint)core_text_sect->size)" identifier (argument_list "((uint)ppcVar12,(uint)core_text_sect->size)" ( (cast_expression "(uint)ppcVar12" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)core_text_sect->size" ( (type_descriptor "uint" type_identifier) ) (field_expression "core_text_sect->size" identifier -> field_identifier)) ))))) + (pointer_expression "*(int *)((int)&core_text_sect->size + 4)" * (cast_expression "(int *)((int)&core_text_sect->size + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&core_text_sect->size + 4)" ( (binary_expression "(int)&core_text_sect->size + 4" (cast_expression "(int)&core_text_sect->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&core_text_sect->size" & (field_expression "core_text_sect->size" identifier -> field_identifier))) + number_literal) ))))) )))) ;) (if_statement "if (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      bVar4 = get_src_info(CONCAT44(&dummy.line_num,&dummy.name),ppcVar12,ppcVar14,(int *)&filename)\n      ;\n      pcVar6 = dummy.name;\n      if ((bVar4 != 0) &&\n         (((iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0)))) {\n        ltab.len = ltab.len + 1;\n        sVar3 = strlen(pcVar6);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar6 = dummy.name;\n        }\n        strcpy(local_14c,pcVar6);\n        pcVar6 = filename;\n        sVar3 = strlen(filename);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n          pcVar6 = filename;\n        }\n        strcpy(local_148,pcVar6);\n        local_150 = iVar13;\n      }\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            );\n  }" if (parenthesized_expression "(ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9))" ( (binary_expression "ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)" (binary_expression "ppcVar14 < ppcVar8" identifier < identifier) || (binary_expression "(uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)" (call_expression "(uint)((int)ppcVar14 - (int)ppcVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppcVar14 - (int)ppcVar8)" ( (binary_expression "(int)ppcVar14 - (int)ppcVar8" (cast_expression "(int)ppcVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppcVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)(ppcVar12 < ppcVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppcVar12 < ppcVar9)" ( (binary_expression "ppcVar12 < ppcVar9" identifier < identifier) ))))) )) (compound_statement "{\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      bVar4 = get_src_info(CONCAT44(&dummy.line_num,&dummy.name),ppcVar12,ppcVar14,(int *)&filename)\n      ;\n      pcVar6 = dummy.name;\n      if ((bVar4 != 0) &&\n         (((iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0)))) {\n        ltab.len = ltab.len + 1;\n        sVar3 = strlen(pcVar6);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar6 = dummy.name;\n        }\n        strcpy(local_14c,pcVar6);\n        pcVar6 = filename;\n        sVar3 = strlen(filename);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n          pcVar6 = filename;\n        }\n        strcpy(local_148,pcVar6);\n        local_150 = iVar13;\n      }\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            );\n  }" { (expression_statement "local_150 = 0;" (assignment_expression "local_150 = 0" identifier = number_literal) ;) (expression_statement "local_144 = 0x1000;" (assignment_expression "local_144 = 0x1000" identifier = number_literal) ;) (expression_statement "local_140 = 0x1000;" (assignment_expression "local_140 = 0x1000" identifier = number_literal) ;) (do_statement "do {\n      bVar4 = get_src_info(CONCAT44(&dummy.line_num,&dummy.name),ppcVar12,ppcVar14,(int *)&filename)\n      ;\n      pcVar6 = dummy.name;\n      if ((bVar4 != 0) &&\n         (((iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0)))) {\n        ltab.len = ltab.len + 1;\n        sVar3 = strlen(pcVar6);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar6 = dummy.name;\n        }\n        strcpy(local_14c,pcVar6);\n        pcVar6 = filename;\n        sVar3 = strlen(filename);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n          pcVar6 = filename;\n        }\n        strcpy(local_148,pcVar6);\n        local_150 = iVar13;\n      }\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            );" do (compound_statement "{\n      bVar4 = get_src_info(CONCAT44(&dummy.line_num,&dummy.name),ppcVar12,ppcVar14,(int *)&filename)\n      ;\n      pcVar6 = dummy.name;\n      if ((bVar4 != 0) &&\n         (((iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0)))) {\n        ltab.len = ltab.len + 1;\n        sVar3 = strlen(pcVar6);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar6 = dummy.name;\n        }\n        strcpy(local_14c,pcVar6);\n        pcVar6 = filename;\n        sVar3 = strlen(filename);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n          pcVar6 = filename;\n        }\n        strcpy(local_148,pcVar6);\n        local_150 = iVar13;\n      }\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    }" { (expression_statement "bVar4 = get_src_info(CONCAT44(&dummy.line_num,&dummy.name),ppcVar12,ppcVar14,(int *)&filename)\n      ;" (assignment_expression "bVar4 = get_src_info(CONCAT44(&dummy.line_num,&dummy.name),ppcVar12,ppcVar14,(int *)&filename)" identifier = (call_expression "get_src_info(CONCAT44(&dummy.line_num,&dummy.name),ppcVar12,ppcVar14,(int *)&filename)" identifier (argument_list "(CONCAT44(&dummy.line_num,&dummy.name),ppcVar12,ppcVar14,(int *)&filename)" ( (call_expression "CONCAT44(&dummy.line_num,&dummy.name)" identifier (argument_list "(&dummy.line_num,&dummy.name)" ( (pointer_expression "&dummy.line_num" & (field_expression "dummy.line_num" identifier . field_identifier)) , (pointer_expression "&dummy.name" & (field_expression "dummy.name" identifier . field_identifier)) ))) , identifier , identifier , (cast_expression "(int *)&filename" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filename" & identifier)) )))) ;) (expression_statement "pcVar6 = dummy.name;" (assignment_expression "pcVar6 = dummy.name" identifier = (field_expression "dummy.name" identifier . field_identifier)) ;) (if_statement "if ((bVar4 != 0) &&\n         (((iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0)))) {\n        ltab.len = ltab.len + 1;\n        sVar3 = strlen(pcVar6);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar6 = dummy.name;\n        }\n        strcpy(local_14c,pcVar6);\n        pcVar6 = filename;\n        sVar3 = strlen(filename);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n          pcVar6 = filename;\n        }\n        strcpy(local_148,pcVar6);\n        local_150 = iVar13;\n      }" if (parenthesized_expression "((bVar4 != 0) &&\n         (((iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0))))" ( (binary_expression "(bVar4 != 0) &&\n         (((iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0)))" (parenthesized_expression "(bVar4 != 0)" ( (binary_expression "bVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(((iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0)))" ( (parenthesized_expression "((iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0))" ( (binary_expression "(iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0)" (parenthesized_expression "(iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0))" ( (comma_expression "iVar13 = dummy.line_num, dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)" (assignment_expression "iVar13 = dummy.line_num" identifier = (field_expression "dummy.line_num" identifier . field_identifier)) , (binary_expression "dummy.line_num != local_150 ||\n           (iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)" (binary_expression "dummy.line_num != local_150" (field_expression "dummy.line_num" identifier . field_identifier) != identifier) || (parenthesized_expression "(iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0)" ( (comma_expression "iVar5 = strcmp(local_14c,dummy.name), iVar13 = local_150, iVar5 != 0" (assignment_expression "iVar5 = strcmp(local_14c,dummy.name)" identifier = (call_expression "strcmp(local_14c,dummy.name)" identifier (argument_list "(local_14c,dummy.name)" ( identifier , (field_expression "dummy.name" identifier . field_identifier) )))) , (comma_expression "iVar13 = local_150, iVar5 != 0" (assignment_expression "iVar13 = local_150" identifier = identifier) , (binary_expression "iVar5 != 0" identifier != number_literal))) )))) )) || (parenthesized_expression "(iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0)" ( (comma_expression "iVar5 = filename_cmp(local_148,filename), pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0" (assignment_expression "iVar5 = filename_cmp(local_148,filename)" identifier = (call_expression "filename_cmp(local_148,filename)" identifier (argument_list "(local_148,filename)" ( identifier , identifier )))) , (comma_expression "pcVar6 = dummy.name, iVar13 = dummy.line_num,\n          iVar5 != 0" (assignment_expression "pcVar6 = dummy.name" identifier = (field_expression "dummy.name" identifier . field_identifier)) , (comma_expression "iVar13 = dummy.line_num,\n          iVar5 != 0" (assignment_expression "iVar13 = dummy.line_num" identifier = (field_expression "dummy.line_num" identifier . field_identifier)) , (binary_expression "iVar5 != 0" identifier != number_literal)))) ))) )) ))) )) (compound_statement "{\n        ltab.len = ltab.len + 1;\n        sVar3 = strlen(pcVar6);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar6 = dummy.name;\n        }\n        strcpy(local_14c,pcVar6);\n        pcVar6 = filename;\n        sVar3 = strlen(filename);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n          pcVar6 = filename;\n        }\n        strcpy(local_148,pcVar6);\n        local_150 = iVar13;\n      }" { (expression_statement "ltab.len = ltab.len + 1;" (assignment_expression "ltab.len = ltab.len + 1" (field_expression "ltab.len" identifier . field_identifier) = (binary_expression "ltab.len + 1" (field_expression "ltab.len" identifier . field_identifier) + number_literal)) ;) (expression_statement "sVar3 = strlen(pcVar6);" (assignment_expression "sVar3 = strlen(pcVar6)" identifier = (call_expression "strlen(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier )))) ;) (if_statement "if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar6 = dummy.name;\n        }" if (parenthesized_expression "(local_140 <= sVar3)" ( (binary_expression "local_140 <= sVar3" identifier <= identifier) )) (compound_statement "{\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar6 = dummy.name;\n        }" { (expression_statement "local_140 = sVar3 + 0x400;" (assignment_expression "local_140 = sVar3 + 0x400" identifier = (binary_expression "sVar3 + 0x400" identifier + number_literal)) ;) (expression_statement "free(local_14c);" (call_expression "free(local_14c)" identifier (argument_list "(local_14c)" ( identifier ))) ;) (expression_statement "local_14c = (char *)xmalloc(local_140);" (assignment_expression "local_14c = (char *)xmalloc(local_140)" identifier = (cast_expression "(char *)xmalloc(local_140)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_140)" identifier (argument_list "(local_140)" ( identifier ))))) ;) (expression_statement "pcVar6 = dummy.name;" (assignment_expression "pcVar6 = dummy.name" identifier = (field_expression "dummy.name" identifier . field_identifier)) ;) })) (expression_statement "strcpy(local_14c,pcVar6);" (call_expression "strcpy(local_14c,pcVar6)" identifier (argument_list "(local_14c,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "pcVar6 = filename;" (assignment_expression "pcVar6 = filename" identifier = identifier) ;) (expression_statement "sVar3 = strlen(filename);" (assignment_expression "sVar3 = strlen(filename)" identifier = (call_expression "strlen(filename)" identifier (argument_list "(filename)" ( identifier )))) ;) (if_statement "if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n          pcVar6 = filename;\n        }" if (parenthesized_expression "(local_144 <= sVar3)" ( (binary_expression "local_144 <= sVar3" identifier <= identifier) )) (compound_statement "{\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n          pcVar6 = filename;\n        }" { (expression_statement "local_144 = sVar3 + 0x400;" (assignment_expression "local_144 = sVar3 + 0x400" identifier = (binary_expression "sVar3 + 0x400" identifier + number_literal)) ;) (expression_statement "free(local_148);" (call_expression "free(local_148)" identifier (argument_list "(local_148)" ( identifier ))) ;) (expression_statement "local_148 = (char *)xmalloc(local_144);" (assignment_expression "local_148 = (char *)xmalloc(local_144)" identifier = (cast_expression "(char *)xmalloc(local_144)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_144)" identifier (argument_list "(local_144)" ( identifier ))))) ;) (expression_statement "pcVar6 = filename;" (assignment_expression "pcVar6 = filename" identifier = identifier) ;) })) (expression_statement "strcpy(local_148,pcVar6);" (call_expression "strcpy(local_148,pcVar6)" identifier (argument_list "(local_148,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "local_150 = iVar13;" (assignment_expression "local_150 = iVar13" identifier = identifier) ;) })) (expression_statement "bVar15 = CARRY4((uint)ppcVar12,min_insn_size);" (assignment_expression "bVar15 = CARRY4((uint)ppcVar12,min_insn_size)" identifier = (call_expression "CARRY4((uint)ppcVar12,min_insn_size)" identifier (argument_list "((uint)ppcVar12,min_insn_size)" ( (cast_expression "(uint)ppcVar12" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))) ;) (expression_statement "ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);" (assignment_expression "ppcVar12 = (char **)((int)ppcVar12 + min_insn_size)" identifier = (cast_expression "(char **)((int)ppcVar12 + min_insn_size)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar12 + min_insn_size)" ( (binary_expression "(int)ppcVar12 + min_insn_size" (cast_expression "(int)ppcVar12" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));" (assignment_expression "ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f))" identifier = (cast_expression "(char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f))" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f))" ( (binary_expression "(int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f)" (binary_expression "(int)ppcVar14 + (uint)bVar15" (cast_expression "(int)ppcVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)bVar15" ( (type_descriptor "uint" type_identifier) ) identifier)) + (parenthesized_expression "(min_insn_size >> 0x1f)" ( (binary_expression "min_insn_size >> 0x1f" identifier >> number_literal) ))) )))) ;) }) while (parenthesized_expression "(ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            )" ( (binary_expression "ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)" (binary_expression "ppcVar14 < ppcVar8" identifier < identifier) || (binary_expression "(uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)" (call_expression "(uint)((int)ppcVar14 - (int)ppcVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppcVar14 - (int)ppcVar8)" ( (binary_expression "(int)ppcVar14 - (int)ppcVar8" (cast_expression "(int)ppcVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppcVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)(ppcVar12 < ppcVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppcVar12 < ppcVar9)" ( (binary_expression "ppcVar12 < ppcVar9" identifier < identifier) ))))) )) ;) })) (expression_statement "uVar1 = ltab.len;" (assignment_expression "uVar1 = ltab.len" identifier = (field_expression "ltab.len" identifier . field_identifier)) ;) (expression_statement "free(local_14c);" (call_expression "free(local_14c)" identifier (argument_list "(local_14c)" ( identifier ))) ;) (expression_statement "free(local_148);" (call_expression "free(local_148)" identifier (argument_list "(local_148)" ( identifier ))) ;) (expression_statement "ltab.len = uVar1 + symtab.len;" (assignment_expression "ltab.len = uVar1 + symtab.len" (field_expression "ltab.len" identifier . field_identifier) = (binary_expression "uVar1 + symtab.len" identifier + (field_expression "symtab.len" identifier . field_identifier))) ;) (expression_statement "ltab.base = (Sym *)xmalloc(ltab.len * 0xfc);" (assignment_expression "ltab.base = (Sym *)xmalloc(ltab.len * 0xfc)" (field_expression "ltab.base" identifier . field_identifier) = (cast_expression "(Sym *)xmalloc(ltab.len * 0xfc)" ( (type_descriptor "Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(ltab.len * 0xfc)" identifier (argument_list "(ltab.len * 0xfc)" ( (binary_expression "ltab.len * 0xfc" (field_expression "ltab.len" identifier . field_identifier) * number_literal) ))))) ;) (expression_statement "ppcVar12 = *(char ***)&core_text_sect->vma;" (assignment_expression "ppcVar12 = *(char ***)&core_text_sect->vma" identifier = (pointer_expression "*(char ***)&core_text_sect->vma" * (cast_expression "(char ***)&core_text_sect->vma" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&core_text_sect->vma" & (field_expression "core_text_sect->vma" identifier -> field_identifier))))) ;) (expression_statement "ppcVar14 = *(char ***)((int)&core_text_sect->vma + 4);" (assignment_expression "ppcVar14 = *(char ***)((int)&core_text_sect->vma + 4)" identifier = (pointer_expression "*(char ***)((int)&core_text_sect->vma + 4)" * (cast_expression "(char ***)((int)&core_text_sect->vma + 4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)&core_text_sect->vma + 4)" ( (binary_expression "(int)&core_text_sect->vma + 4" (cast_expression "(int)&core_text_sect->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&core_text_sect->vma" & (field_expression "core_text_sect->vma" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "ltab.limit = ltab.base;" (assignment_expression "ltab.limit = ltab.base" (field_expression "ltab.limit" identifier . field_identifier) = (field_expression "ltab.base" identifier . field_identifier)) ;) (if_statement "if (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)) {\n    pSVar11 = (Sym *)0x0;\n    do {\n      sym_init(ltab.limit);\n      bVar4 = get_src_info(CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name),ppcVar12,ppcVar14,\n                           (int *)&filename);\n      pSVar10 = ltab.limit;\n      if (bVar4 != 0) {\n        pcVar6 = (ltab.limit)->name;\n        if (pSVar11 == (Sym *)0x0) {\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar11 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar11->file = pSVar7;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\nLAB_000198a0:\n          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));\n          pSVar10 = ltab.limit;\n          if (pSVar11 != (Sym *)0x0) {\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }\n        }\n        else {\n          if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar2 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar10 = ltab.limit;\n          pSVar2->file = pSVar7;\n          pSVar7 = pSVar11->file;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\n          if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;\n          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n        }\n        pSVar11 = pSVar10;\n        if (((byte)debug_level & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                );\n          pSVar11 = ltab.limit;\n        }\n        ltab.limit = pSVar11 + 1;\n        pSVar11 = pSVar10;\n      }\nLAB_000198e5:\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            );\n  }" if (parenthesized_expression "(ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9))" ( (binary_expression "ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)" (binary_expression "ppcVar14 < ppcVar8" identifier < identifier) || (binary_expression "(uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)" (call_expression "(uint)((int)ppcVar14 - (int)ppcVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppcVar14 - (int)ppcVar8)" ( (binary_expression "(int)ppcVar14 - (int)ppcVar8" (cast_expression "(int)ppcVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppcVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)(ppcVar12 < ppcVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppcVar12 < ppcVar9)" ( (binary_expression "ppcVar12 < ppcVar9" identifier < identifier) ))))) )) (compound_statement "{\n    pSVar11 = (Sym *)0x0;\n    do {\n      sym_init(ltab.limit);\n      bVar4 = get_src_info(CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name),ppcVar12,ppcVar14,\n                           (int *)&filename);\n      pSVar10 = ltab.limit;\n      if (bVar4 != 0) {\n        pcVar6 = (ltab.limit)->name;\n        if (pSVar11 == (Sym *)0x0) {\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar11 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar11->file = pSVar7;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\nLAB_000198a0:\n          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));\n          pSVar10 = ltab.limit;\n          if (pSVar11 != (Sym *)0x0) {\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }\n        }\n        else {\n          if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar2 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar10 = ltab.limit;\n          pSVar2->file = pSVar7;\n          pSVar7 = pSVar11->file;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\n          if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;\n          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n        }\n        pSVar11 = pSVar10;\n        if (((byte)debug_level & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                );\n          pSVar11 = ltab.limit;\n        }\n        ltab.limit = pSVar11 + 1;\n        pSVar11 = pSVar10;\n      }\nLAB_000198e5:\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            );\n  }" { (expression_statement "pSVar11 = (Sym *)0x0;" (assignment_expression "pSVar11 = (Sym *)0x0" identifier = (cast_expression "(Sym *)0x0" ( (type_descriptor "Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      sym_init(ltab.limit);\n      bVar4 = get_src_info(CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name),ppcVar12,ppcVar14,\n                           (int *)&filename);\n      pSVar10 = ltab.limit;\n      if (bVar4 != 0) {\n        pcVar6 = (ltab.limit)->name;\n        if (pSVar11 == (Sym *)0x0) {\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar11 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar11->file = pSVar7;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\nLAB_000198a0:\n          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));\n          pSVar10 = ltab.limit;\n          if (pSVar11 != (Sym *)0x0) {\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }\n        }\n        else {\n          if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar2 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar10 = ltab.limit;\n          pSVar2->file = pSVar7;\n          pSVar7 = pSVar11->file;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\n          if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;\n          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n        }\n        pSVar11 = pSVar10;\n        if (((byte)debug_level & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                );\n          pSVar11 = ltab.limit;\n        }\n        ltab.limit = pSVar11 + 1;\n        pSVar11 = pSVar10;\n      }\nLAB_000198e5:\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    } while (ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            );" do (compound_statement "{\n      sym_init(ltab.limit);\n      bVar4 = get_src_info(CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name),ppcVar12,ppcVar14,\n                           (int *)&filename);\n      pSVar10 = ltab.limit;\n      if (bVar4 != 0) {\n        pcVar6 = (ltab.limit)->name;\n        if (pSVar11 == (Sym *)0x0) {\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar11 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar11->file = pSVar7;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\nLAB_000198a0:\n          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));\n          pSVar10 = ltab.limit;\n          if (pSVar11 != (Sym *)0x0) {\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }\n        }\n        else {\n          if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar2 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar10 = ltab.limit;\n          pSVar2->file = pSVar7;\n          pSVar7 = pSVar11->file;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\n          if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;\n          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n        }\n        pSVar11 = pSVar10;\n        if (((byte)debug_level & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                );\n          pSVar11 = ltab.limit;\n        }\n        ltab.limit = pSVar11 + 1;\n        pSVar11 = pSVar10;\n      }\nLAB_000198e5:\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);\n      ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);\n      ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));\n    }" { (expression_statement "sym_init(ltab.limit);" (call_expression "sym_init(ltab.limit)" identifier (argument_list "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) ))) ;) (expression_statement "bVar4 = get_src_info(CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name),ppcVar12,ppcVar14,\n                           (int *)&filename);" (assignment_expression "bVar4 = get_src_info(CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name),ppcVar12,ppcVar14,\n                           (int *)&filename)" identifier = (call_expression "get_src_info(CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name),ppcVar12,ppcVar14,\n                           (int *)&filename)" identifier (argument_list "(CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name),ppcVar12,ppcVar14,\n                           (int *)&filename)" ( (call_expression "CONCAT44(&(ltab.limit)->line_num,&(ltab.limit)->name)" identifier (argument_list "(&(ltab.limit)->line_num,&(ltab.limit)->name)" ( (pointer_expression "&(ltab.limit)->line_num" & (field_expression "(ltab.limit)->line_num" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier)) , (pointer_expression "&(ltab.limit)->name" & (field_expression "(ltab.limit)->name" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier)) ))) , identifier , identifier , (cast_expression "(int *)&filename" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filename" & identifier)) )))) ;) (expression_statement "pSVar10 = ltab.limit;" (assignment_expression "pSVar10 = ltab.limit" identifier = (field_expression "ltab.limit" identifier . field_identifier)) ;) (if_statement "if (bVar4 != 0) {\n        pcVar6 = (ltab.limit)->name;\n        if (pSVar11 == (Sym *)0x0) {\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar11 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar11->file = pSVar7;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\nLAB_000198a0:\n          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));\n          pSVar10 = ltab.limit;\n          if (pSVar11 != (Sym *)0x0) {\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }\n        }\n        else {\n          if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar2 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar10 = ltab.limit;\n          pSVar2->file = pSVar7;\n          pSVar7 = pSVar11->file;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\n          if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;\n          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n        }\n        pSVar11 = pSVar10;\n        if (((byte)debug_level & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                );\n          pSVar11 = ltab.limit;\n        }\n        ltab.limit = pSVar11 + 1;\n        pSVar11 = pSVar10;\n      }" if (parenthesized_expression "(bVar4 != 0)" ( (binary_expression "bVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        pcVar6 = (ltab.limit)->name;\n        if (pSVar11 == (Sym *)0x0) {\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar11 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar11->file = pSVar7;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\nLAB_000198a0:\n          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));\n          pSVar10 = ltab.limit;\n          if (pSVar11 != (Sym *)0x0) {\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }\n        }\n        else {\n          if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar2 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar10 = ltab.limit;\n          pSVar2->file = pSVar7;\n          pSVar7 = pSVar11->file;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\n          if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;\n          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n        }\n        pSVar11 = pSVar10;\n        if (((byte)debug_level & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                );\n          pSVar11 = ltab.limit;\n        }\n        ltab.limit = pSVar11 + 1;\n        pSVar11 = pSVar10;\n      }" { (expression_statement "pcVar6 = (ltab.limit)->name;" (assignment_expression "pcVar6 = (ltab.limit)->name" identifier = (field_expression "(ltab.limit)->name" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier)) ;) (if_statement "if (pSVar11 == (Sym *)0x0) {\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar11 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar11->file = pSVar7;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\nLAB_000198a0:\n          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));\n          pSVar10 = ltab.limit;\n          if (pSVar11 != (Sym *)0x0) {\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }\n        }\n        else {\n          if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar2 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar10 = ltab.limit;\n          pSVar2->file = pSVar7;\n          pSVar7 = pSVar11->file;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\n          if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;\n          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n        }" if (parenthesized_expression "(pSVar11 == (Sym *)0x0)" ( (binary_expression "pSVar11 == (Sym *)0x0" identifier == (cast_expression "(Sym *)0x0" ( (type_descriptor "Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar11 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar11->file = pSVar7;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\nLAB_000198a0:\n          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));\n          pSVar10 = ltab.limit;\n          if (pSVar11 != (Sym *)0x0) {\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }\n        }" { (expression_statement "pcVar6 = (char *)xstrdup(pcVar6);" (assignment_expression "pcVar6 = (char *)xstrdup(pcVar6)" identifier = (cast_expression "(char *)xstrdup(pcVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))))) ;) (expression_statement "pSVar11 = ltab.limit;" (assignment_expression "pSVar11 = ltab.limit" identifier = (field_expression "ltab.limit" identifier . field_identifier)) ;) (expression_statement "pSVar10->name = pcVar6;" (assignment_expression "pSVar10->name = pcVar6" (field_expression "pSVar10->name" identifier -> field_identifier) = identifier) ;) (expression_statement "pSVar7 = source_file_lookup_path(filename);" (assignment_expression "pSVar7 = source_file_lookup_path(filename)" identifier = (call_expression "source_file_lookup_path(filename)" identifier (argument_list "(filename)" ( identifier )))) ;) (expression_statement "pSVar11->file = pSVar7;" (assignment_expression "pSVar11->file = pSVar7" (field_expression "pSVar11->file" identifier -> field_identifier) = identifier) ;) (expression_statement "*(char ***)&(ltab.limit)->addr = ppcVar12;" (assignment_expression "*(char ***)&(ltab.limit)->addr = ppcVar12" (pointer_expression "*(char ***)&(ltab.limit)->addr" * (cast_expression "(char ***)&(ltab.limit)->addr" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&(ltab.limit)->addr" & (field_expression "(ltab.limit)->addr" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier)))) = identifier) ;) (expression_statement "*(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;" (assignment_expression "*(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14" (pointer_expression "*(char ***)((int)&(ltab.limit)->addr + 4)" * (cast_expression "(char ***)((int)&(ltab.limit)->addr + 4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)&(ltab.limit)->addr + 4)" ( (binary_expression "(int)&(ltab.limit)->addr + 4" (cast_expression "(int)&(ltab.limit)->addr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(ltab.limit)->addr" & (field_expression "(ltab.limit)->addr" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier))) + number_literal) )))) = identifier) ;) (labeled_statement "LAB_000198a0:\n          pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));" statement_identifier : (expression_statement "pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12));" (assignment_expression "pSVar11 = sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12))" identifier = (call_expression "sym_lookup(&symtab,CONCAT44(ppcVar14,ppcVar12))" identifier (argument_list "(&symtab,CONCAT44(ppcVar14,ppcVar12))" ( (pointer_expression "&symtab" & identifier) , (call_expression "CONCAT44(ppcVar14,ppcVar12)" identifier (argument_list "(ppcVar14,ppcVar12)" ( identifier , identifier ))) )))) ;)) (expression_statement "pSVar10 = ltab.limit;" (assignment_expression "pSVar10 = ltab.limit" identifier = (field_expression "ltab.limit" identifier . field_identifier)) ;) (if_statement "if (pSVar11 != (Sym *)0x0) {\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }" if (parenthesized_expression "(pSVar11 != (Sym *)0x0)" ( (binary_expression "pSVar11 != (Sym *)0x0" identifier != (cast_expression "(Sym *)0x0" ( (type_descriptor "Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n          }" { (expression_statement "(ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;" (assignment_expression "(ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2" (field_expression "(ltab.limit)->field_0x1c" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier) = (binary_expression "(ltab.limit)->field_0x1c & 0xfd | pSVar11->field_0x1c & 2" (binary_expression "(ltab.limit)->field_0x1c & 0xfd" (field_expression "(ltab.limit)->field_0x1c" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier) & number_literal) | (binary_expression "pSVar11->field_0x1c & 2" (field_expression "pSVar11->field_0x1c" identifier -> field_identifier) & number_literal))) ;) })) }) (else_clause "else {\n          if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar2 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar10 = ltab.limit;\n          pSVar2->file = pSVar7;\n          pSVar7 = pSVar11->file;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\n          if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;\n          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n        }" else (compound_statement "{\n          if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }\n          pcVar6 = (char *)xstrdup(pcVar6);\n          pSVar2 = ltab.limit;\n          pSVar10->name = pcVar6;\n          pSVar7 = source_file_lookup_path(filename);\n          pSVar10 = ltab.limit;\n          pSVar2->file = pSVar7;\n          pSVar7 = pSVar11->file;\n          *(char ***)&(ltab.limit)->addr = ppcVar12;\n          *(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;\n          if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;\n          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;\n        }" { (if_statement "if ((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)) {\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }" if (parenthesized_expression "((pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0))" ( (binary_expression "(pSVar11->line_num == (ltab.limit)->line_num) &&\n             (iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)" (parenthesized_expression "(pSVar11->line_num == (ltab.limit)->line_num)" ( (binary_expression "pSVar11->line_num == (ltab.limit)->line_num" (field_expression "pSVar11->line_num" identifier -> field_identifier) == (field_expression "(ltab.limit)->line_num" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier)) )) && (parenthesized_expression "(iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0)" ( (comma_expression "iVar13 = strcmp(pSVar11->name,pcVar6), iVar13 == 0" (assignment_expression "iVar13 = strcmp(pSVar11->name,pcVar6)" identifier = (call_expression "strcmp(pSVar11->name,pcVar6)" identifier (argument_list "(pSVar11->name,pcVar6)" ( (field_expression "pSVar11->name" identifier -> field_identifier) , identifier )))) , (binary_expression "iVar13 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            iVar13 = filename_cmp(pSVar11->file->name,filename);\n            if (iVar13 == 0) goto LAB_000198e5;\n            pcVar6 = (ltab.limit)->name;\n            pSVar10 = ltab.limit;\n          }" { (expression_statement "iVar13 = filename_cmp(pSVar11->file->name,filename);" (assignment_expression "iVar13 = filename_cmp(pSVar11->file->name,filename)" identifier = (call_expression "filename_cmp(pSVar11->file->name,filename)" identifier (argument_list "(pSVar11->file->name,filename)" ( (field_expression "pSVar11->file->name" (field_expression "pSVar11->file" identifier -> field_identifier) -> field_identifier) , identifier )))) ;) (if_statement "if (iVar13 == 0) goto LAB_000198e5;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000198e5;" goto statement_identifier ;)) (expression_statement "pcVar6 = (ltab.limit)->name;" (assignment_expression "pcVar6 = (ltab.limit)->name" identifier = (field_expression "(ltab.limit)->name" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "pSVar10 = ltab.limit;" (assignment_expression "pSVar10 = ltab.limit" identifier = (field_expression "ltab.limit" identifier . field_identifier)) ;) })) (expression_statement "pcVar6 = (char *)xstrdup(pcVar6);" (assignment_expression "pcVar6 = (char *)xstrdup(pcVar6)" identifier = (cast_expression "(char *)xstrdup(pcVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))))) ;) (expression_statement "pSVar2 = ltab.limit;" (assignment_expression "pSVar2 = ltab.limit" identifier = (field_expression "ltab.limit" identifier . field_identifier)) ;) (expression_statement "pSVar10->name = pcVar6;" (assignment_expression "pSVar10->name = pcVar6" (field_expression "pSVar10->name" identifier -> field_identifier) = identifier) ;) (expression_statement "pSVar7 = source_file_lookup_path(filename);" (assignment_expression "pSVar7 = source_file_lookup_path(filename)" identifier = (call_expression "source_file_lookup_path(filename)" identifier (argument_list "(filename)" ( identifier )))) ;) (expression_statement "pSVar10 = ltab.limit;" (assignment_expression "pSVar10 = ltab.limit" identifier = (field_expression "ltab.limit" identifier . field_identifier)) ;) (expression_statement "pSVar2->file = pSVar7;" (assignment_expression "pSVar2->file = pSVar7" (field_expression "pSVar2->file" identifier -> field_identifier) = identifier) ;) (expression_statement "pSVar7 = pSVar11->file;" (assignment_expression "pSVar7 = pSVar11->file" identifier = (field_expression "pSVar11->file" identifier -> field_identifier)) ;) (expression_statement "*(char ***)&(ltab.limit)->addr = ppcVar12;" (assignment_expression "*(char ***)&(ltab.limit)->addr = ppcVar12" (pointer_expression "*(char ***)&(ltab.limit)->addr" * (cast_expression "(char ***)&(ltab.limit)->addr" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&(ltab.limit)->addr" & (field_expression "(ltab.limit)->addr" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier)))) = identifier) ;) (expression_statement "*(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14;" (assignment_expression "*(char ***)((int)&(ltab.limit)->addr + 4) = ppcVar14" (pointer_expression "*(char ***)((int)&(ltab.limit)->addr + 4)" * (cast_expression "(char ***)((int)&(ltab.limit)->addr + 4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)&(ltab.limit)->addr + 4)" ( (binary_expression "(int)&(ltab.limit)->addr + 4" (cast_expression "(int)&(ltab.limit)->addr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(ltab.limit)->addr" & (field_expression "(ltab.limit)->addr" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier))) + number_literal) )))) = identifier) ;) (if_statement "if (((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)) goto LAB_000198a0;" if (parenthesized_expression "(((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0))" ( (binary_expression "((ltab.limit)->file != pSVar7) ||\n             (iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)" (parenthesized_expression "((ltab.limit)->file != pSVar7)" ( (binary_expression "(ltab.limit)->file != pSVar7" (field_expression "(ltab.limit)->file" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier) != identifier) )) || (parenthesized_expression "(iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0)" ( (comma_expression "iVar13 = strcmp((ltab.limit)->name,pSVar11->name), iVar13 != 0" (assignment_expression "iVar13 = strcmp((ltab.limit)->name,pSVar11->name)" identifier = (call_expression "strcmp((ltab.limit)->name,pSVar11->name)" identifier (argument_list "((ltab.limit)->name,pSVar11->name)" ( (field_expression "(ltab.limit)->name" (parenthesized_expression "(ltab.limit)" ( (field_expression "ltab.limit" identifier . field_identifier) )) -> field_identifier) , (field_expression "pSVar11->name" identifier -> field_identifier) )))) , (binary_expression "iVar13 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_000198a0;" goto statement_identifier ;)) (expression_statement "pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2;" (assignment_expression "pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2" (field_expression "pSVar10->field_0x1c" identifier -> field_identifier) = (binary_expression "pSVar10->field_0x1c & 0xfd | pSVar11->field_0x1c & 2" (binary_expression "pSVar10->field_0x1c & 0xfd" (field_expression "pSVar10->field_0x1c" identifier -> field_identifier) & number_literal) | (binary_expression "pSVar11->field_0x1c & 2" (field_expression "pSVar11->field_0x1c" identifier -> field_identifier) & number_literal))) ;) }))) (expression_statement "pSVar11 = pSVar10;" (assignment_expression "pSVar11 = pSVar10" identifier = identifier) ;) (if_statement "if (((byte)debug_level & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                );\n          pSVar11 = ltab.limit;\n        }" if (parenthesized_expression "(((byte)debug_level & 0x80) != 0)" ( (binary_expression "((byte)debug_level & 0x80) != 0" (parenthesized_expression "((byte)debug_level & 0x80)" ( (binary_expression "(byte)debug_level & 0x80" (cast_expression "(byte)debug_level" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                );\n          pSVar11 = ltab.limit;\n        }" { (expression_statement "printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                );" (call_expression "printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                )" identifier (argument_list "("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr\n                )" ( (string_literal ""[core_create_line_syms] %lu %s 0x%lx\n"" " string_content escape_sequence ") , (binary_expression "((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041" (parenthesized_expression "((int)pSVar10 - (int)ltab.base >> 2)" ( (binary_expression "(int)pSVar10 - (int)ltab.base >> 2" (binary_expression "(int)pSVar10 - (int)ltab.base" (cast_expression "(int)pSVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ltab.base" ( (type_descriptor "int" primitive_type) ) (field_expression "ltab.base" identifier . field_identifier))) >> number_literal) )) * number_literal) , (field_expression "pSVar10->name" identifier -> field_identifier) , (cast_expression "(int)pSVar10->addr" ( (type_descriptor "int" primitive_type) ) (field_expression "pSVar10->addr" identifier -> field_identifier)) ))) ;) (expression_statement "pSVar11 = ltab.limit;" (assignment_expression "pSVar11 = ltab.limit" identifier = (field_expression "ltab.limit" identifier . field_identifier)) ;) })) (expression_statement "ltab.limit = pSVar11 + 1;" (assignment_expression "ltab.limit = pSVar11 + 1" (field_expression "ltab.limit" identifier . field_identifier) = (binary_expression "pSVar11 + 1" identifier + number_literal)) ;) (expression_statement "pSVar11 = pSVar10;" (assignment_expression "pSVar11 = pSVar10" identifier = identifier) ;) })) (labeled_statement "LAB_000198e5:\n      bVar15 = CARRY4((uint)ppcVar12,min_insn_size);" statement_identifier : (expression_statement "bVar15 = CARRY4((uint)ppcVar12,min_insn_size);" (assignment_expression "bVar15 = CARRY4((uint)ppcVar12,min_insn_size)" identifier = (call_expression "CARRY4((uint)ppcVar12,min_insn_size)" identifier (argument_list "((uint)ppcVar12,min_insn_size)" ( (cast_expression "(uint)ppcVar12" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))) ;)) (expression_statement "ppcVar12 = (char **)((int)ppcVar12 + min_insn_size);" (assignment_expression "ppcVar12 = (char **)((int)ppcVar12 + min_insn_size)" identifier = (cast_expression "(char **)((int)ppcVar12 + min_insn_size)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar12 + min_insn_size)" ( (binary_expression "(int)ppcVar12 + min_insn_size" (cast_expression "(int)ppcVar12" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f));" (assignment_expression "ppcVar14 = (char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f))" identifier = (cast_expression "(char **)((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f))" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f))" ( (binary_expression "(int)ppcVar14 + (uint)bVar15 + (min_insn_size >> 0x1f)" (binary_expression "(int)ppcVar14 + (uint)bVar15" (cast_expression "(int)ppcVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)bVar15" ( (type_descriptor "uint" type_identifier) ) identifier)) + (parenthesized_expression "(min_insn_size >> 0x1f)" ( (binary_expression "min_insn_size >> 0x1f" identifier >> number_literal) ))) )))) ;) }) while (parenthesized_expression "(ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)\n            )" ( (binary_expression "ppcVar14 < ppcVar8 || (uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)" (binary_expression "ppcVar14 < ppcVar8" identifier < identifier) || (binary_expression "(uint)((int)ppcVar14 - (int)ppcVar8) < (uint)(ppcVar12 < ppcVar9)" (call_expression "(uint)((int)ppcVar14 - (int)ppcVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppcVar14 - (int)ppcVar8)" ( (binary_expression "(int)ppcVar14 - (int)ppcVar8" (cast_expression "(int)ppcVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppcVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)(ppcVar12 < ppcVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppcVar12 < ppcVar9)" ( (binary_expression "ppcVar12 < ppcVar9" identifier < identifier) ))))) )) ;) })) (expression_statement "memcpy(ltab.limit,symtab.base,symtab.len * 0xfc);" (call_expression "memcpy(ltab.limit,symtab.base,symtab.len * 0xfc)" identifier (argument_list "(ltab.limit,symtab.base,symtab.len * 0xfc)" ( (field_expression "ltab.limit" identifier . field_identifier) , (field_expression "symtab.base" identifier . field_identifier) , (binary_expression "symtab.len * 0xfc" (field_expression "symtab.len" identifier . field_identifier) * number_literal) ))) ;) (expression_statement "uVar1 = ltab.len;" (assignment_expression "uVar1 = ltab.len" identifier = (field_expression "ltab.len" identifier . field_identifier)) ;) (expression_statement "pcVar6 = whoami;" (assignment_expression "pcVar6 = whoami" identifier = identifier) ;) (expression_statement "ltab.limit = ltab.limit + symtab.len;" (assignment_expression "ltab.limit = ltab.limit + symtab.len" (field_expression "ltab.limit" identifier . field_identifier) = (binary_expression "ltab.limit + symtab.len" (field_expression "ltab.limit" identifier . field_identifier) + (field_expression "symtab.len" identifier . field_identifier))) ;) (expression_statement "iVar13 = ((int)ltab.limit - (int)ltab.base >> 2) * -0x41041041;" (assignment_expression "iVar13 = ((int)ltab.limit - (int)ltab.base >> 2) * -0x41041041" identifier = (binary_expression "((int)ltab.limit - (int)ltab.base >> 2) * -0x41041041" (parenthesized_expression "((int)ltab.limit - (int)ltab.base >> 2)" ( (binary_expression "(int)ltab.limit - (int)ltab.base >> 2" (binary_expression "(int)ltab.limit - (int)ltab.base" (cast_expression "(int)ltab.limit" ( (type_descriptor "int" primitive_type) ) (field_expression "ltab.limit" identifier . field_identifier)) - (cast_expression "(int)ltab.base" ( (type_descriptor "int" primitive_type) ) (field_expression "ltab.base" identifier . field_identifier))) >> number_literal) )) * number_literal)) ;) (if_statement "if (iVar13 - ltab.len != 0) {\n    __format = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                                 &whoami);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,uVar1,iVar13);\n                    /* WARNING: Subroutine does not return */\n    done(1);\n  }" if (parenthesized_expression "(iVar13 - ltab.len != 0)" ( (binary_expression "iVar13 - ltab.len != 0" (binary_expression "iVar13 - ltab.len" identifier - (field_expression "ltab.len" identifier . field_identifier)) != number_literal) )) (compound_statement "{\n    __format = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                                 &whoami);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,uVar1,iVar13);\n                    /* WARNING: Subroutine does not return */\n    done(1);\n  }" { (expression_statement "__format = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                                 &whoami);" (assignment_expression "__format = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                                 &whoami)" identifier = (cast_expression "(char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                                 &whoami)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                                 &whoami)" identifier (argument_list "("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                                 &whoami)" ( (string_literal ""gprof"" " string_content ") , (string_literal ""%s: somebody miscounted: ltab.len=%d instead of %ld\n"" " string_content escape_sequence ") , number_literal , (pointer_expression "&whoami" & identifier) ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,uVar1,iVar13);" (call_expression "fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,uVar1,iVar13)" identifier (argument_list "(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,uVar1,iVar13)" ( (pointer_expression "*(FILE **)PTR_stderr_0002cfcc" * (cast_expression "(FILE **)PTR_stderr_0002cfcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier , identifier , identifier ))) ;) comment (expression_statement "done(1);" (call_expression "done(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })) (expression_statement "symtab_finalize(&ltab);" (call_expression "symtab_finalize(&ltab)" identifier (argument_list "(&ltab)" ( (pointer_expression "&ltab" & identifier) ))) ;) (expression_statement "free(symtab.base);" (call_expression "free(symtab.base)" identifier (argument_list "(symtab.base)" ( (field_expression "symtab.base" identifier . field_identifier) ))) ;) (expression_statement "symtab.len = ltab.len;" (assignment_expression "symtab.len = ltab.len" (field_expression "symtab.len" identifier . field_identifier) = (field_expression "ltab.len" identifier . field_identifier)) ;) (expression_statement "symtab.base = ltab.base;" (assignment_expression "symtab.base = ltab.base" (field_expression "symtab.base" identifier . field_identifier) = (field_expression "ltab.base" identifier . field_identifier)) ;) (expression_statement "symtab.limit = ltab.limit;" (assignment_expression "symtab.limit = ltab.limit" (field_expression "symtab.limit" identifier . field_identifier) = (field_expression "ltab.limit" identifier . field_identifier)) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_000195a0(void)\n\n{\n  undefined4 uVar1;\n  uint *puVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  char *pcVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  bool bVar14;\n  int local_150;\n  char *local_14c;\n  char *local_148;\n  uint local_144;\n  uint local_140;\n  char *local_128;\n  int local_124;\n  uint *local_120;\n  uint *local_11c;\n  char *local_108 [2];\n  int local_100 [59];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x195a9;\n  FUN_000190e0();\n  local_14c = (char *)xmalloc(0x1000);\n  local_148 = (char *)xmalloc(0x1000);\n  local_124 = 0;\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);\n  uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  iVar4 = local_124;\n  free(local_14c);\n  free(local_148);\n  local_124 = iVar4 + DAT_0002e520;\n  local_120 = (uint *)xmalloc(local_124 * 0xfc);\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  local_11c = local_120;\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);\n  iVar4 = local_124;\n  uVar1 = DAT_0002e508;\n  local_11c = local_11c + DAT_0002e520 * 0x3f;\n  iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;\n  if (iVar5 - local_124 != 0) {\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    \n    FUN_0001adb0(1);\n  }\n  FUN_0001ce90(&local_124);\n  free(DAT_0002e524);\n  DAT_0002e520 = local_124;\n  DAT_0002e524 = local_120;\n  DAT_0002e528 = local_11c;\n  return;\n}\n\n" (function_definition "void FUN_000195a0(void)\n\n{\n  undefined4 uVar1;\n  uint *puVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  char *pcVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  bool bVar14;\n  int local_150;\n  char *local_14c;\n  char *local_148;\n  uint local_144;\n  uint local_140;\n  char *local_128;\n  int local_124;\n  uint *local_120;\n  uint *local_11c;\n  char *local_108 [2];\n  int local_100 [59];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x195a9;\n  FUN_000190e0();\n  local_14c = (char *)xmalloc(0x1000);\n  local_148 = (char *)xmalloc(0x1000);\n  local_124 = 0;\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);\n  uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  iVar4 = local_124;\n  free(local_14c);\n  free(local_148);\n  local_124 = iVar4 + DAT_0002e520;\n  local_120 = (uint *)xmalloc(local_124 * 0xfc);\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  local_11c = local_120;\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);\n  iVar4 = local_124;\n  uVar1 = DAT_0002e508;\n  local_11c = local_11c + DAT_0002e520 * 0x3f;\n  iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;\n  if (iVar5 - local_124 != 0) {\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    \n    FUN_0001adb0(1);\n  }\n  FUN_0001ce90(&local_124);\n  free(DAT_0002e524);\n  DAT_0002e520 = local_124;\n  DAT_0002e524 = local_120;\n  DAT_0002e528 = local_11c;\n  return;\n}" primitive_type (function_declarator "FUN_000195a0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 uVar1;\n  uint *puVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  char *pcVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  bool bVar14;\n  int local_150;\n  char *local_14c;\n  char *local_148;\n  uint local_144;\n  uint local_140;\n  char *local_128;\n  int local_124;\n  uint *local_120;\n  uint *local_11c;\n  char *local_108 [2];\n  int local_100 [59];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x195a9;\n  FUN_000190e0();\n  local_14c = (char *)xmalloc(0x1000);\n  local_148 = (char *)xmalloc(0x1000);\n  local_124 = 0;\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);\n  uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  iVar4 = local_124;\n  free(local_14c);\n  free(local_148);\n  local_124 = iVar4 + DAT_0002e520;\n  local_120 = (uint *)xmalloc(local_124 * 0xfc);\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  local_11c = local_120;\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);\n  iVar4 = local_124;\n  uVar1 = DAT_0002e508;\n  local_11c = local_11c + DAT_0002e520 * 0x3f;\n  iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;\n  if (iVar5 - local_124 != 0) {\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    \n    FUN_0001adb0(1);\n  }\n  FUN_0001ce90(&local_124);\n  free(DAT_0002e524);\n  DAT_0002e520 = local_124;\n  DAT_0002e524 = local_120;\n  DAT_0002e528 = local_11c;\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "int local_150;" primitive_type identifier ;) (declaration "char *local_14c;" primitive_type (pointer_declarator "*local_14c" * identifier) ;) (declaration "char *local_148;" primitive_type (pointer_declarator "*local_148" * identifier) ;) (declaration "uint local_144;" type_identifier identifier ;) (declaration "uint local_140;" type_identifier identifier ;) (declaration "char *local_128;" primitive_type (pointer_declarator "*local_128" * identifier) ;) (declaration "int local_124;" primitive_type identifier ;) (declaration "uint *local_120;" type_identifier (pointer_declarator "*local_120" * identifier) ;) (declaration "uint *local_11c;" type_identifier (pointer_declarator "*local_11c" * identifier) ;) (declaration "char *local_108 [2];" primitive_type (pointer_declarator "*local_108 [2]" * (array_declarator "local_108 [2]" identifier [ number_literal ])) ;) (declaration "int local_100 [59];" primitive_type (array_declarator "local_100 [59]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x195a9;" (assignment_expression "uStack_14 = 0x195a9" identifier = number_literal) ;) (expression_statement "FUN_000190e0();" (call_expression "FUN_000190e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_14c = (char *)xmalloc(0x1000);" (assignment_expression "local_14c = (char *)xmalloc(0x1000)" identifier = (cast_expression "(char *)xmalloc(0x1000)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(0x1000)" identifier (argument_list "(0x1000)" ( number_literal ))))) ;) (expression_statement "local_148 = (char *)xmalloc(0x1000);" (assignment_expression "local_148 = (char *)xmalloc(0x1000)" identifier = (cast_expression "(char *)xmalloc(0x1000)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(0x1000)" identifier (argument_list "(0x1000)" ( number_literal ))))) ;) (expression_statement "local_124 = 0;" (assignment_expression "local_124 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);" (assignment_expression "uVar12 = *(uint *)(DAT_0002e4fc + 0x1c)" identifier = (pointer_expression "*(uint *)(DAT_0002e4fc + 0x1c)" * (cast_expression "(uint *)(DAT_0002e4fc + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x1c)" ( (binary_expression "DAT_0002e4fc + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(DAT_0002e4fc + 0x20);" (assignment_expression "uVar13 = *(uint *)(DAT_0002e4fc + 0x20)" identifier = (pointer_expression "*(uint *)(DAT_0002e4fc + 0x20)" * (cast_expression "(uint *)(DAT_0002e4fc + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x20)" ( (binary_expression "DAT_0002e4fc + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);" (assignment_expression "uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c)" identifier = (binary_expression "uVar12 + *(uint *)(DAT_0002e4fc + 0x2c)" identifier + (pointer_expression "*(uint *)(DAT_0002e4fc + 0x2c)" * (cast_expression "(uint *)(DAT_0002e4fc + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x2c)" ( (binary_expression "DAT_0002e4fc + 0x2c" identifier + number_literal) )))))) ;) (expression_statement "uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));" (assignment_expression "uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" identifier = (binary_expression "uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" (binary_expression "uVar13 + *(int *)(DAT_0002e4fc + 0x30)" identifier + (pointer_expression "*(int *)(DAT_0002e4fc + 0x30)" * (cast_expression "(int *)(DAT_0002e4fc + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x30)" ( (binary_expression "DAT_0002e4fc + 0x30" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" identifier (argument_list "(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" ( identifier , (pointer_expression "*(uint *)(DAT_0002e4fc + 0x2c)" * (cast_expression "(uint *)(DAT_0002e4fc + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x2c)" ( (binary_expression "DAT_0002e4fc + 0x2c" identifier + number_literal) )))) )))))) ;) (if_statement "if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }" if (parenthesized_expression "(uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9))" ( (binary_expression "uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 < uVar8" identifier < identifier) || (binary_expression "uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 - uVar8" identifier - identifier) < (call_expression "(uint)(uVar12 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 < uVar9)" ( (binary_expression "uVar12 < uVar9" identifier < identifier) ))))) )) (compound_statement "{\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }" { (expression_statement "local_150 = 0;" (assignment_expression "local_150 = 0" identifier = number_literal) ;) (expression_statement "local_144 = 0x1000;" (assignment_expression "local_144 = 0x1000" identifier = number_literal) ;) (expression_statement "local_140 = 0x1000;" (assignment_expression "local_140 = 0x1000" identifier = number_literal) ;) (do_statement "do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));" do (compound_statement "{\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    }" { (expression_statement "iVar4 = FUN_00018440(local_108,local_100);" (assignment_expression "iVar4 = FUN_00018440(local_108,local_100)" identifier = (call_expression "FUN_00018440(local_108,local_100)" identifier (argument_list "(local_108,local_100)" ( identifier , identifier )))) ;) (expression_statement "pcVar7 = local_108[0];" (assignment_expression "pcVar7 = local_108[0]" identifier = (subscript_expression "local_108[0]" identifier [ number_literal ])) ;) (if_statement "if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }" if (parenthesized_expression "((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0))))" ( (binary_expression "(iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))" ( (parenthesized_expression "((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0))" ( (binary_expression "(iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)" (parenthesized_expression "(iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0))" ( (comma_expression "iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)" (assignment_expression "iVar4 = local_100[0]" identifier = (subscript_expression "local_100[0]" identifier [ number_literal ])) , (binary_expression "local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)" (binary_expression "local_100[0] != local_150" (subscript_expression "local_100[0]" identifier [ number_literal ]) != identifier) || (parenthesized_expression "(iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)" ( (comma_expression "iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0" (assignment_expression "iVar5 = strcmp(local_14c,local_108[0])" identifier = (call_expression "strcmp(local_14c,local_108[0])" identifier (argument_list "(local_14c,local_108[0])" ( identifier , (subscript_expression "local_108[0]" identifier [ number_literal ]) )))) , (comma_expression "iVar4 = local_150, iVar5 != 0" (assignment_expression "iVar4 = local_150" identifier = identifier) , (binary_expression "iVar5 != 0" identifier != number_literal))) )))) )) || (parenthesized_expression "(iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)" ( (comma_expression "iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0" (assignment_expression "iVar5 = filename_cmp(local_148,local_128)" identifier = (call_expression "filename_cmp(local_148,local_128)" identifier (argument_list "(local_148,local_128)" ( identifier , identifier )))) , (comma_expression "pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0" (assignment_expression "pcVar7 = local_108[0]" identifier = (subscript_expression "local_108[0]" identifier [ number_literal ])) , (comma_expression "iVar4 = local_100[0],\n          iVar5 != 0" (assignment_expression "iVar4 = local_100[0]" identifier = (subscript_expression "local_100[0]" identifier [ number_literal ])) , (binary_expression "iVar5 != 0" identifier != number_literal)))) ))) )) ))) )) (compound_statement "{\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }" { (expression_statement "local_124 = local_124 + 1;" (assignment_expression "local_124 = local_124 + 1" identifier = (binary_expression "local_124 + 1" identifier + number_literal)) ;) (expression_statement "sVar3 = strlen(pcVar7);" (assignment_expression "sVar3 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (if_statement "if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }" if (parenthesized_expression "(local_140 <= sVar3)" ( (binary_expression "local_140 <= sVar3" identifier <= identifier) )) (compound_statement "{\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }" { (expression_statement "local_140 = sVar3 + 0x400;" (assignment_expression "local_140 = sVar3 + 0x400" identifier = (binary_expression "sVar3 + 0x400" identifier + number_literal)) ;) (expression_statement "free(local_14c);" (call_expression "free(local_14c)" identifier (argument_list "(local_14c)" ( identifier ))) ;) (expression_statement "local_14c = (char *)xmalloc(local_140);" (assignment_expression "local_14c = (char *)xmalloc(local_140)" identifier = (cast_expression "(char *)xmalloc(local_140)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_140)" identifier (argument_list "(local_140)" ( identifier ))))) ;) (expression_statement "pcVar7 = local_108[0];" (assignment_expression "pcVar7 = local_108[0]" identifier = (subscript_expression "local_108[0]" identifier [ number_literal ])) ;) })) (expression_statement "strcpy(local_14c,pcVar7);" (call_expression "strcpy(local_14c,pcVar7)" identifier (argument_list "(local_14c,pcVar7)" ( identifier , identifier ))) ;) (expression_statement "sVar3 = strlen(local_128);" (assignment_expression "sVar3 = strlen(local_128)" identifier = (call_expression "strlen(local_128)" identifier (argument_list "(local_128)" ( identifier )))) ;) (if_statement "if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }" if (parenthesized_expression "(local_144 <= sVar3)" ( (binary_expression "local_144 <= sVar3" identifier <= identifier) )) (compound_statement "{\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }" { (expression_statement "local_144 = sVar3 + 0x400;" (assignment_expression "local_144 = sVar3 + 0x400" identifier = (binary_expression "sVar3 + 0x400" identifier + number_literal)) ;) (expression_statement "free(local_148);" (call_expression "free(local_148)" identifier (argument_list "(local_148)" ( identifier ))) ;) (expression_statement "local_148 = (char *)xmalloc(local_144);" (assignment_expression "local_148 = (char *)xmalloc(local_144)" identifier = (cast_expression "(char *)xmalloc(local_144)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_144)" identifier (argument_list "(local_144)" ( identifier ))))) ;) })) (expression_statement "strcpy(local_148,local_128);" (call_expression "strcpy(local_148,local_128)" identifier (argument_list "(local_148,local_128)" ( identifier , identifier ))) ;) (expression_statement "local_150 = iVar4;" (assignment_expression "local_150 = iVar4" identifier = identifier) ;) })) (expression_statement "bVar14 = CARRY4(uVar12,DAT_0002e120);" (assignment_expression "bVar14 = CARRY4(uVar12,DAT_0002e120)" identifier = (call_expression "CARRY4(uVar12,DAT_0002e120)" identifier (argument_list "(uVar12,DAT_0002e120)" ( identifier , identifier )))) ;) (expression_statement "uVar12 = uVar12 + DAT_0002e120;" (assignment_expression "uVar12 = uVar12 + DAT_0002e120" identifier = (binary_expression "uVar12 + DAT_0002e120" identifier + identifier)) ;) (expression_statement "uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;" (assignment_expression "uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14" identifier = (binary_expression "uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14" (binary_expression "uVar13 + ((int)DAT_0002e120 >> 0x1f)" identifier + (parenthesized_expression "((int)DAT_0002e120 >> 0x1f)" ( (binary_expression "(int)DAT_0002e120 >> 0x1f" (cast_expression "(int)DAT_0002e120" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9))" ( (binary_expression "uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 < uVar8" identifier < identifier) || (binary_expression "uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 - uVar8" identifier - identifier) < (call_expression "(uint)(uVar12 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 < uVar9)" ( (binary_expression "uVar12 < uVar9" identifier < identifier) ))))) )) ;) })) (expression_statement "iVar4 = local_124;" (assignment_expression "iVar4 = local_124" identifier = identifier) ;) (expression_statement "free(local_14c);" (call_expression "free(local_14c)" identifier (argument_list "(local_14c)" ( identifier ))) ;) (expression_statement "free(local_148);" (call_expression "free(local_148)" identifier (argument_list "(local_148)" ( identifier ))) ;) (expression_statement "local_124 = iVar4 + DAT_0002e520;" (assignment_expression "local_124 = iVar4 + DAT_0002e520" identifier = (binary_expression "iVar4 + DAT_0002e520" identifier + identifier)) ;) (expression_statement "local_120 = (uint *)xmalloc(local_124 * 0xfc);" (assignment_expression "local_120 = (uint *)xmalloc(local_124 * 0xfc)" identifier = (cast_expression "(uint *)xmalloc(local_124 * 0xfc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_124 * 0xfc)" identifier (argument_list "(local_124 * 0xfc)" ( (binary_expression "local_124 * 0xfc" identifier * number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);" (assignment_expression "uVar12 = *(uint *)(DAT_0002e4fc + 0x1c)" identifier = (pointer_expression "*(uint *)(DAT_0002e4fc + 0x1c)" * (cast_expression "(uint *)(DAT_0002e4fc + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x1c)" ( (binary_expression "DAT_0002e4fc + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(DAT_0002e4fc + 0x20);" (assignment_expression "uVar13 = *(uint *)(DAT_0002e4fc + 0x20)" identifier = (pointer_expression "*(uint *)(DAT_0002e4fc + 0x20)" * (cast_expression "(uint *)(DAT_0002e4fc + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4fc + 0x20)" ( (binary_expression "DAT_0002e4fc + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_11c = local_120;" (assignment_expression "local_11c = local_120" identifier = identifier) ;) (if_statement "if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }" if (parenthesized_expression "(uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9))" ( (binary_expression "uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 < uVar8" identifier < identifier) || (binary_expression "uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 - uVar8" identifier - identifier) < (call_expression "(uint)(uVar12 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 < uVar9)" ( (binary_expression "uVar12 < uVar9" identifier < identifier) ))))) )) (compound_statement "{\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }" { (expression_statement "puVar11 = (uint *)0x0;" (assignment_expression "puVar11 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));" do (compound_statement "{\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    }" { (expression_statement "FUN_0001ce40(local_11c);" (call_expression "FUN_0001ce40(local_11c)" identifier (argument_list "(local_11c)" ( identifier ))) ;) (expression_statement "iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);" (assignment_expression "iVar4 = FUN_00018440(local_11c + 4,local_11c + 6)" identifier = (call_expression "FUN_00018440(local_11c + 4,local_11c + 6)" identifier (argument_list "(local_11c + 4,local_11c + 6)" ( (binary_expression "local_11c + 4" identifier + number_literal) , (binary_expression "local_11c + 6" identifier + number_literal) )))) ;) (expression_statement "puVar10 = local_11c;" (assignment_expression "puVar10 = local_11c" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }" { (expression_statement "pcVar7 = (char *)local_11c[4];" (assignment_expression "pcVar7 = (char *)local_11c[4]" identifier = (cast_expression "(char *)local_11c[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_11c[4]" identifier [ number_literal ]))) ;) (if_statement "if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }" if (parenthesized_expression "(puVar11 == (uint *)0x0)" ( (binary_expression "puVar11 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }" { (expression_statement "uVar6 = xstrdup(pcVar7);" (assignment_expression "uVar6 = xstrdup(pcVar7)" identifier = (call_expression "xstrdup(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "puVar11 = local_11c;" (assignment_expression "puVar11 = local_11c" identifier = identifier) ;) (expression_statement "puVar10[4] = uVar6;" (assignment_expression "puVar10[4] = uVar6" (subscript_expression "puVar10[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar6 = FUN_0001c820(local_128);" (assignment_expression "uVar6 = FUN_0001c820(local_128)" identifier = (call_expression "FUN_0001c820(local_128)" identifier (argument_list "(local_128)" ( identifier )))) ;) (expression_statement "puVar11[5] = uVar6;" (assignment_expression "puVar11[5] = uVar6" (subscript_expression "puVar11[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*local_11c = uVar12;" (assignment_expression "*local_11c = uVar12" (pointer_expression "*local_11c" * identifier) = identifier) ;) (expression_statement "local_11c[1] = uVar13;" (assignment_expression "local_11c[1] = uVar13" (subscript_expression "local_11c[1]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);" statement_identifier : (expression_statement "iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);" (assignment_expression "iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13)" identifier = (call_expression "FUN_0001d480(&DAT_0002e520,uVar12,uVar13)" identifier (argument_list "(&DAT_0002e520,uVar12,uVar13)" ( (pointer_expression "&DAT_0002e520" & identifier) , identifier , identifier )))) ;)) (expression_statement "puVar10 = local_11c;" (assignment_expression "puVar10 = local_11c" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }" { (expression_statement "*(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;" (assignment_expression "*(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(local_11c + 7)" * (cast_expression "(byte *)(local_11c + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_11c + 7)" ( (binary_expression "local_11c + 7" identifier + number_literal) )))) = (binary_expression "(byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2" (binary_expression "(byte)local_11c[7] & 0xfd" (cast_expression "(byte)local_11c[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_11c[7]" identifier [ number_literal ])) & number_literal) | (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" * (cast_expression "(byte *)(iVar4 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal))) ;) })) }) (else_clause "else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }" else (compound_statement "{\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }" { (if_statement "if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }" if (parenthesized_expression "((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0))" ( (binary_expression "(puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)" (parenthesized_expression "(puVar11[6] == local_11c[6])" ( (binary_expression "puVar11[6] == local_11c[6]" (subscript_expression "puVar11[6]" identifier [ number_literal ]) == (subscript_expression "local_11c[6]" identifier [ number_literal ])) )) && (parenthesized_expression "(iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)" ( (comma_expression "iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0" (assignment_expression "iVar4 = strcmp((char *)puVar11[4],pcVar7)" identifier = (call_expression "strcmp((char *)puVar11[4],pcVar7)" identifier (argument_list "((char *)puVar11[4],pcVar7)" ( (cast_expression "(char *)puVar11[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[4]" identifier [ number_literal ])) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }" { (expression_statement "iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);" (assignment_expression "iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128)" identifier = (call_expression "filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128)" identifier (argument_list "(*(undefined4 *)(puVar11[5] + 4),local_128)" ( (pointer_expression "*(undefined4 *)(puVar11[5] + 4)" * (cast_expression "(undefined4 *)(puVar11[5] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11[5] + 4)" ( (binary_expression "puVar11[5] + 4" (subscript_expression "puVar11[5]" identifier [ number_literal ]) + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_000198e5;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000198e5;" goto statement_identifier ;)) (expression_statement "pcVar7 = (char *)local_11c[4];" (assignment_expression "pcVar7 = (char *)local_11c[4]" identifier = (cast_expression "(char *)local_11c[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_11c[4]" identifier [ number_literal ]))) ;) (expression_statement "puVar10 = local_11c;" (assignment_expression "puVar10 = local_11c" identifier = identifier) ;) })) (expression_statement "uVar6 = xstrdup(pcVar7);" (assignment_expression "uVar6 = xstrdup(pcVar7)" identifier = (call_expression "xstrdup(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "puVar2 = local_11c;" (assignment_expression "puVar2 = local_11c" identifier = identifier) ;) (expression_statement "puVar10[4] = uVar6;" (assignment_expression "puVar10[4] = uVar6" (subscript_expression "puVar10[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar6 = FUN_0001c820(local_128);" (assignment_expression "uVar6 = FUN_0001c820(local_128)" identifier = (call_expression "FUN_0001c820(local_128)" identifier (argument_list "(local_128)" ( identifier )))) ;) (expression_statement "puVar10 = local_11c;" (assignment_expression "puVar10 = local_11c" identifier = identifier) ;) (expression_statement "puVar2[5] = uVar6;" (assignment_expression "puVar2[5] = uVar6" (subscript_expression "puVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar6 = puVar11[5];" (assignment_expression "uVar6 = puVar11[5]" identifier = (subscript_expression "puVar11[5]" identifier [ number_literal ])) ;) (expression_statement "*local_11c = uVar12;" (assignment_expression "*local_11c = uVar12" (pointer_expression "*local_11c" * identifier) = identifier) ;) (expression_statement "local_11c[1] = uVar13;" (assignment_expression "local_11c[1] = uVar13" (subscript_expression "local_11c[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;" if (parenthesized_expression "((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))" ( (binary_expression "(local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0)" (parenthesized_expression "(local_11c[5] != uVar6)" ( (binary_expression "local_11c[5] != uVar6" (subscript_expression "local_11c[5]" identifier [ number_literal ]) != identifier) )) || (parenthesized_expression "(iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0)" ( (comma_expression "iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0" (assignment_expression "iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4])" identifier = (call_expression "strcmp((char *)local_11c[4],(char *)puVar11[4])" identifier (argument_list "((char *)local_11c[4],(char *)puVar11[4])" ( (cast_expression "(char *)local_11c[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_11c[4]" identifier [ number_literal ])) , (cast_expression "(char *)puVar11[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[4]" identifier [ number_literal ])) )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_000198a0;" goto statement_identifier ;)) (expression_statement "*(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;" (assignment_expression "*(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2" (pointer_expression "*(byte *)(puVar10 + 7)" * (cast_expression "(byte *)(puVar10 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 7)" ( (binary_expression "puVar10 + 7" identifier + number_literal) )))) = (binary_expression "(byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2" (binary_expression "(byte)puVar10[7] & 0xfd" (cast_expression "(byte)puVar10[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar10[7]" identifier [ number_literal ])) & number_literal) | (binary_expression "(byte)puVar11[7] & 2" (cast_expression "(byte)puVar11[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar11[7]" identifier [ number_literal ])) & number_literal))) ;) }))) (expression_statement "puVar11 = puVar10;" (assignment_expression "puVar11 = puVar10" identifier = identifier) ;) (if_statement "if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }" if (parenthesized_expression "(((byte)DAT_0002e158 & 0x80) != 0)" ( (binary_expression "((byte)DAT_0002e158 & 0x80) != 0" (parenthesized_expression "((byte)DAT_0002e158 & 0x80)" ( (binary_expression "(byte)DAT_0002e158 & 0x80" (cast_expression "(byte)DAT_0002e158" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }" { (expression_statement "printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);" (call_expression "printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10)" identifier (argument_list "("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10)" ( (string_literal ""[core_create_line_syms] %lu %s 0x%lx\n"" " string_content escape_sequence ") , (binary_expression "((int)puVar10 - (int)local_120 >> 2) * -0x41041041" (parenthesized_expression "((int)puVar10 - (int)local_120 >> 2)" ( (binary_expression "(int)puVar10 - (int)local_120 >> 2" (binary_expression "(int)puVar10 - (int)local_120" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_120" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) , (subscript_expression "puVar10[4]" identifier [ number_literal ]) , (pointer_expression "*puVar10" * identifier) ))) ;) (expression_statement "puVar11 = local_11c;" (assignment_expression "puVar11 = local_11c" identifier = identifier) ;) })) (expression_statement "local_11c = puVar11 + 0x3f;" (assignment_expression "local_11c = puVar11 + 0x3f" identifier = (binary_expression "puVar11 + 0x3f" identifier + number_literal)) ;) (expression_statement "puVar11 = puVar10;" (assignment_expression "puVar11 = puVar10" identifier = identifier) ;) })) (labeled_statement "LAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);" statement_identifier : (expression_statement "bVar14 = CARRY4(uVar12,DAT_0002e120);" (assignment_expression "bVar14 = CARRY4(uVar12,DAT_0002e120)" identifier = (call_expression "CARRY4(uVar12,DAT_0002e120)" identifier (argument_list "(uVar12,DAT_0002e120)" ( identifier , identifier )))) ;)) (expression_statement "uVar12 = uVar12 + DAT_0002e120;" (assignment_expression "uVar12 = uVar12 + DAT_0002e120" identifier = (binary_expression "uVar12 + DAT_0002e120" identifier + identifier)) ;) (expression_statement "uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;" (assignment_expression "uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14" identifier = (binary_expression "uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14" (binary_expression "uVar13 + ((int)DAT_0002e120 >> 0x1f)" identifier + (parenthesized_expression "((int)DAT_0002e120 >> 0x1f)" ( (binary_expression "(int)DAT_0002e120 >> 0x1f" (cast_expression "(int)DAT_0002e120" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9))" ( (binary_expression "uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 < uVar8" identifier < identifier) || (binary_expression "uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 - uVar8" identifier - identifier) < (call_expression "(uint)(uVar12 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 < uVar9)" ( (binary_expression "uVar12 < uVar9" identifier < identifier) ))))) )) ;) })) (expression_statement "memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);" (call_expression "memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc)" identifier (argument_list "(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc)" ( identifier , identifier , (binary_expression "DAT_0002e520 * 0xfc" identifier * number_literal) ))) ;) (expression_statement "iVar4 = local_124;" (assignment_expression "iVar4 = local_124" identifier = identifier) ;) (expression_statement "uVar1 = DAT_0002e508;" (assignment_expression "uVar1 = DAT_0002e508" identifier = identifier) ;) (expression_statement "local_11c = local_11c + DAT_0002e520 * 0x3f;" (assignment_expression "local_11c = local_11c + DAT_0002e520 * 0x3f" identifier = (binary_expression "local_11c + DAT_0002e520 * 0x3f" identifier + (binary_expression "DAT_0002e520 * 0x3f" identifier * number_literal))) ;) (expression_statement "iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;" (assignment_expression "iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041" identifier = (binary_expression "((int)local_11c - (int)local_120 >> 2) * -0x41041041" (parenthesized_expression "((int)local_11c - (int)local_120 >> 2)" ( (binary_expression "(int)local_11c - (int)local_120 >> 2" (binary_expression "(int)local_11c - (int)local_120" (cast_expression "(int)local_11c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_120" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;) (if_statement "if (iVar5 - local_124 != 0) {\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    \n    FUN_0001adb0(1);\n  }" if (parenthesized_expression "(iVar5 - local_124 != 0)" ( (binary_expression "iVar5 - local_124 != 0" (binary_expression "iVar5 - local_124" identifier - identifier) != number_literal) )) (compound_statement "{\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    \n    FUN_0001adb0(1);\n  }" { (expression_statement "pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);" (assignment_expression "pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508)" identifier = (cast_expression "(char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508)" identifier (argument_list "("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508)" ( (string_literal ""gprof"" " string_content ") , (string_literal ""%s: somebody miscounted: ltab.len=%d instead of %ld\n"" " string_content escape_sequence ") , number_literal , (pointer_expression "&DAT_0002e508" & identifier) ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);" (call_expression "fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5)" identifier (argument_list "(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5)" ( (pointer_expression "*(FILE **)PTR_stderr_0002cfcc" * (cast_expression "(FILE **)PTR_stderr_0002cfcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "FUN_0001adb0(1);" (call_expression "FUN_0001adb0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })) (expression_statement "FUN_0001ce90(&local_124);" (call_expression "FUN_0001ce90(&local_124)" identifier (argument_list "(&local_124)" ( (pointer_expression "&local_124" & identifier) ))) ;) (expression_statement "free(DAT_0002e524);" (call_expression "free(DAT_0002e524)" identifier (argument_list "(DAT_0002e524)" ( identifier ))) ;) (expression_statement "DAT_0002e520 = local_124;" (assignment_expression "DAT_0002e520 = local_124" identifier = identifier) ;) (expression_statement "DAT_0002e524 = local_120;" (assignment_expression "DAT_0002e524 = local_120" identifier = identifier) ;) (expression_statement "DAT_0002e528 = local_11c;" (assignment_expression "DAT_0002e528 = local_11c" identifier = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) )))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression IDENT != LIT)))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT))) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (subscript_expression IDENT [ LIT ])) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT) , (subscript_expression IDENT [ LIT ]) , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT * LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , LIT , (pointer_expression & IDENT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (return_statement return ;) })))
(function_definition "void FUN_000195a0(void)\n\n{\n  undefined4 uVar1;\n  uint *puVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  char *pcVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  bool bVar14;\n  int local_150;\n  char *local_14c;\n  char *local_148;\n  uint local_144;\n  uint local_140;\n  char *local_128;\n  int local_124;\n  uint *local_120;\n  uint *local_11c;\n  char *local_108 [2];\n  int local_100 [59];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x195a9;\n  FUN_000190e0();\n  local_14c = (char *)xmalloc(0x1000);\n  local_148 = (char *)xmalloc(0x1000);\n  local_124 = 0;\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);\n  uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  iVar4 = local_124;\n  free(local_14c);\n  free(local_148);\n  local_124 = iVar4 + DAT_0002e520;\n  local_120 = (uint *)xmalloc(local_124 * 0xfc);\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  local_11c = local_120;\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);\n  iVar4 = local_124;\n  uVar1 = DAT_0002e508;\n  local_11c = local_11c + DAT_0002e520 * 0x3f;\n  iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;\n  if (iVar5 - local_124 != 0) {\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    \n    FUN_0001adb0(1);\n  }\n  FUN_0001ce90(&local_124);\n  free(DAT_0002e524);\n  DAT_0002e520 = local_124;\n  DAT_0002e524 = local_120;\n  DAT_0002e528 = local_11c;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000195a0(void)" (identifier "FUN_000195a0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  uint *puVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  char *pcVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  bool bVar14;\n  int local_150;\n  char *local_14c;\n  char *local_148;\n  uint local_144;\n  uint local_140;\n  char *local_128;\n  int local_124;\n  uint *local_120;\n  uint *local_11c;\n  char *local_108 [2];\n  int local_100 [59];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x195a9;\n  FUN_000190e0();\n  local_14c = (char *)xmalloc(0x1000);\n  local_148 = (char *)xmalloc(0x1000);\n  local_124 = 0;\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);\n  uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  iVar4 = local_124;\n  free(local_14c);\n  free(local_148);\n  local_124 = iVar4 + DAT_0002e520;\n  local_120 = (uint *)xmalloc(local_124 * 0xfc);\n  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);\n  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);\n  local_11c = local_120;\n  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }\n  memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);\n  iVar4 = local_124;\n  uVar1 = DAT_0002e508;\n  local_11c = local_11c + DAT_0002e520 * 0x3f;\n  iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;\n  if (iVar5 - local_124 != 0) {\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    \n    FUN_0001adb0(1);\n  }\n  FUN_0001ce90(&local_124);\n  free(DAT_0002e524);\n  DAT_0002e520 = local_124;\n  DAT_0002e524 = local_120;\n  DAT_0002e528 = local_11c;\n  return;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "uint *puVar2;" (type_identifier "uint") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint *puVar10;" (type_identifier "uint") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "uint *puVar11;" (type_identifier "uint") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "bool bVar14;" (primitive_type "bool") (identifier "bVar14") (; ";")) (declaration "int local_150;" (primitive_type "int") (identifier "local_150") (; ";")) (declaration "char *local_14c;" (primitive_type "char") (pointer_declarator "*local_14c" (* "*") (identifier "local_14c")) (; ";")) (declaration "char *local_148;" (primitive_type "char") (pointer_declarator "*local_148" (* "*") (identifier "local_148")) (; ";")) (declaration "uint local_144;" (type_identifier "uint") (identifier "local_144") (; ";")) (declaration "uint local_140;" (type_identifier "uint") (identifier "local_140") (; ";")) (declaration "char *local_128;" (primitive_type "char") (pointer_declarator "*local_128" (* "*") (identifier "local_128")) (; ";")) (declaration "int local_124;" (primitive_type "int") (identifier "local_124") (; ";")) (declaration "uint *local_120;" (type_identifier "uint") (pointer_declarator "*local_120" (* "*") (identifier "local_120")) (; ";")) (declaration "uint *local_11c;" (type_identifier "uint") (pointer_declarator "*local_11c" (* "*") (identifier "local_11c")) (; ";")) (declaration "char *local_108 [2];" (primitive_type "char") (pointer_declarator "*local_108 [2]" (* "*") (array_declarator "local_108 [2]" (identifier "local_108") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "int local_100 [59];" (primitive_type "int") (array_declarator "local_100 [59]" (identifier "local_100") ([ "[") (number_literal "59") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x195a9;" (assignment_expression "uStack_14 = 0x195a9" (identifier "uStack_14") (= "=") (number_literal "0x195a9")) (; ";")) (expression_statement "FUN_000190e0();" (call_expression "FUN_000190e0()" (identifier "FUN_000190e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_14c = (char *)xmalloc(0x1000);" (assignment_expression "local_14c = (char *)xmalloc(0x1000)" (identifier "local_14c") (= "=") (cast_expression "(char *)xmalloc(0x1000)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(0x1000)" (identifier "xmalloc") (argument_list "(0x1000)" (( "(") (number_literal "0x1000") () ")"))))) (; ";")) (expression_statement "local_148 = (char *)xmalloc(0x1000);" (assignment_expression "local_148 = (char *)xmalloc(0x1000)" (identifier "local_148") (= "=") (cast_expression "(char *)xmalloc(0x1000)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(0x1000)" (identifier "xmalloc") (argument_list "(0x1000)" (( "(") (number_literal "0x1000") () ")"))))) (; ";")) (expression_statement "local_124 = 0;" (assignment_expression "local_124 = 0" (identifier "local_124") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);" (assignment_expression "uVar12 = *(uint *)(DAT_0002e4fc + 0x1c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(DAT_0002e4fc + 0x1c)" (* "*") (cast_expression "(uint *)(DAT_0002e4fc + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e4fc + 0x1c)" (( "(") (binary_expression "DAT_0002e4fc + 0x1c" (identifier "DAT_0002e4fc") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(DAT_0002e4fc + 0x20);" (assignment_expression "uVar13 = *(uint *)(DAT_0002e4fc + 0x20)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(DAT_0002e4fc + 0x20)" (* "*") (cast_expression "(uint *)(DAT_0002e4fc + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e4fc + 0x20)" (( "(") (binary_expression "DAT_0002e4fc + 0x20" (identifier "DAT_0002e4fc") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);" (assignment_expression "uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c)" (identifier "uVar9") (= "=") (binary_expression "uVar12 + *(uint *)(DAT_0002e4fc + 0x2c)" (identifier "uVar12") (+ "+") (pointer_expression "*(uint *)(DAT_0002e4fc + 0x2c)" (* "*") (cast_expression "(uint *)(DAT_0002e4fc + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e4fc + 0x2c)" (( "(") (binary_expression "DAT_0002e4fc + 0x2c" (identifier "DAT_0002e4fc") (+ "+") (number_literal "0x2c")) () ")")))))) (; ";")) (expression_statement "uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));" (assignment_expression "uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" (identifier "uVar8") (= "=") (binary_expression "uVar13 + *(int *)(DAT_0002e4fc + 0x30) +\n          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" (binary_expression "uVar13 + *(int *)(DAT_0002e4fc + 0x30)" (identifier "uVar13") (+ "+") (pointer_expression "*(int *)(DAT_0002e4fc + 0x30)" (* "*") (cast_expression "(int *)(DAT_0002e4fc + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e4fc + 0x30)" (( "(") (binary_expression "DAT_0002e4fc + 0x30" (identifier "DAT_0002e4fc") (+ "+") (number_literal "0x30")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" (identifier "CARRY4") (argument_list "(uVar12,*(uint *)(DAT_0002e4fc + 0x2c))" (( "(") (identifier "uVar12") (, ",") (pointer_expression "*(uint *)(DAT_0002e4fc + 0x2c)" (* "*") (cast_expression "(uint *)(DAT_0002e4fc + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e4fc + 0x2c)" (( "(") (binary_expression "DAT_0002e4fc + 0x2c" (identifier "DAT_0002e4fc") (+ "+") (number_literal "0x2c")) () ")")))) () ")")))))) (; ";")) (if_statement "if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }" (if "if") (parenthesized_expression "(uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9))" (( "(") (binary_expression "uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 < uVar8" (identifier "uVar13") (< "<") (identifier "uVar8")) (|| "||") (binary_expression "uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 - uVar8" (identifier "uVar13") (- "-") (identifier "uVar8")) (< "<") (call_expression "(uint)(uVar12 < uVar9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar12 < uVar9)" (( "(") (binary_expression "uVar12 < uVar9" (identifier "uVar12") (< "<") (identifier "uVar9")) () ")"))))) () ")")) (compound_statement "{\n    local_150 = 0;\n    local_144 = 0x1000;\n    local_140 = 0x1000;\n    do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }" ({ "{") (expression_statement "local_150 = 0;" (assignment_expression "local_150 = 0" (identifier "local_150") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_144 = 0x1000;" (assignment_expression "local_144 = 0x1000" (identifier "local_144") (= "=") (number_literal "0x1000")) (; ";")) (expression_statement "local_140 = 0x1000;" (assignment_expression "local_140 = 0x1000" (identifier "local_140") (= "=") (number_literal "0x1000")) (; ";")) (do_statement "do {\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));" (do "do") (compound_statement "{\n      iVar4 = FUN_00018440(local_108,local_100);\n      pcVar7 = local_108[0];\n      if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    }" ({ "{") (expression_statement "iVar4 = FUN_00018440(local_108,local_100);" (assignment_expression "iVar4 = FUN_00018440(local_108,local_100)" (identifier "iVar4") (= "=") (call_expression "FUN_00018440(local_108,local_100)" (identifier "FUN_00018440") (argument_list "(local_108,local_100)" (( "(") (identifier "local_108") (, ",") (identifier "local_100") () ")")))) (; ";")) (expression_statement "pcVar7 = local_108[0];" (assignment_expression "pcVar7 = local_108[0]" (identifier "pcVar7") (= "=") (subscript_expression "local_108[0]" (identifier "local_108") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if ((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))) {\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }" (if "if") (parenthesized_expression "((iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0))))" (( "(") (binary_expression "(iVar4 != 0) &&\n         (((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)))" (( "(") (parenthesized_expression "((iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0))" (( "(") (binary_expression "(iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||\n          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)" (parenthesized_expression "(iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0))" (( "(") (comma_expression "iVar4 = local_100[0], local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)" (assignment_expression "iVar4 = local_100[0]" (identifier "iVar4") (= "=") (subscript_expression "local_100[0]" (identifier "local_100") ([ "[") (number_literal "0") (] "]"))) (, ",") (binary_expression "local_100[0] != local_150 ||\n           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)" (binary_expression "local_100[0] != local_150" (subscript_expression "local_100[0]" (identifier "local_100") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_150")) (|| "||") (parenthesized_expression "(iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)" (( "(") (comma_expression "iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0" (assignment_expression "iVar5 = strcmp(local_14c,local_108[0])" (identifier "iVar5") (= "=") (call_expression "strcmp(local_14c,local_108[0])" (identifier "strcmp") (argument_list "(local_14c,local_108[0])" (( "(") (identifier "local_14c") (, ",") (subscript_expression "local_108[0]" (identifier "local_108") ([ "[") (number_literal "0") (] "]")) () ")")))) (, ",") (comma_expression "iVar4 = local_150, iVar5 != 0" (assignment_expression "iVar4 = local_150" (identifier "iVar4") (= "=") (identifier "local_150")) (, ",") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")))) () ")")))) () ")")) (|| "||") (parenthesized_expression "(iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0)" (( "(") (comma_expression "iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0" (assignment_expression "iVar5 = filename_cmp(local_148,local_128)" (identifier "iVar5") (= "=") (call_expression "filename_cmp(local_148,local_128)" (identifier "filename_cmp") (argument_list "(local_148,local_128)" (( "(") (identifier "local_148") (, ",") (identifier "local_128") () ")")))) (, ",") (comma_expression "pcVar7 = local_108[0], iVar4 = local_100[0],\n          iVar5 != 0" (assignment_expression "pcVar7 = local_108[0]" (identifier "pcVar7") (= "=") (subscript_expression "local_108[0]" (identifier "local_108") ([ "[") (number_literal "0") (] "]"))) (, ",") (comma_expression "iVar4 = local_100[0],\n          iVar5 != 0" (assignment_expression "iVar4 = local_100[0]" (identifier "iVar4") (= "=") (subscript_expression "local_100[0]" (identifier "local_100") ([ "[") (number_literal "0") (] "]"))) (, ",") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        local_124 = local_124 + 1;\n        sVar3 = strlen(pcVar7);\n        if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }\n        strcpy(local_14c,pcVar7);\n        sVar3 = strlen(local_128);\n        if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }\n        strcpy(local_148,local_128);\n        local_150 = iVar4;\n      }" ({ "{") (expression_statement "local_124 = local_124 + 1;" (assignment_expression "local_124 = local_124 + 1" (identifier "local_124") (= "=") (binary_expression "local_124 + 1" (identifier "local_124") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "sVar3 = strlen(pcVar7);" (assignment_expression "sVar3 = strlen(pcVar7)" (identifier "sVar3") (= "=") (call_expression "strlen(pcVar7)" (identifier "strlen") (argument_list "(pcVar7)" (( "(") (identifier "pcVar7") () ")")))) (; ";")) (if_statement "if (local_140 <= sVar3) {\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }" (if "if") (parenthesized_expression "(local_140 <= sVar3)" (( "(") (binary_expression "local_140 <= sVar3" (identifier "local_140") (<= "<=") (identifier "sVar3")) () ")")) (compound_statement "{\n          local_140 = sVar3 + 0x400;\n          free(local_14c);\n          local_14c = (char *)xmalloc(local_140);\n          pcVar7 = local_108[0];\n        }" ({ "{") (expression_statement "local_140 = sVar3 + 0x400;" (assignment_expression "local_140 = sVar3 + 0x400" (identifier "local_140") (= "=") (binary_expression "sVar3 + 0x400" (identifier "sVar3") (+ "+") (number_literal "0x400"))) (; ";")) (expression_statement "free(local_14c);" (call_expression "free(local_14c)" (identifier "free") (argument_list "(local_14c)" (( "(") (identifier "local_14c") () ")"))) (; ";")) (expression_statement "local_14c = (char *)xmalloc(local_140);" (assignment_expression "local_14c = (char *)xmalloc(local_140)" (identifier "local_14c") (= "=") (cast_expression "(char *)xmalloc(local_140)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(local_140)" (identifier "xmalloc") (argument_list "(local_140)" (( "(") (identifier "local_140") () ")"))))) (; ";")) (expression_statement "pcVar7 = local_108[0];" (assignment_expression "pcVar7 = local_108[0]" (identifier "pcVar7") (= "=") (subscript_expression "local_108[0]" (identifier "local_108") ([ "[") (number_literal "0") (] "]"))) (; ";")) (} "}"))) (expression_statement "strcpy(local_14c,pcVar7);" (call_expression "strcpy(local_14c,pcVar7)" (identifier "strcpy") (argument_list "(local_14c,pcVar7)" (( "(") (identifier "local_14c") (, ",") (identifier "pcVar7") () ")"))) (; ";")) (expression_statement "sVar3 = strlen(local_128);" (assignment_expression "sVar3 = strlen(local_128)" (identifier "sVar3") (= "=") (call_expression "strlen(local_128)" (identifier "strlen") (argument_list "(local_128)" (( "(") (identifier "local_128") () ")")))) (; ";")) (if_statement "if (local_144 <= sVar3) {\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }" (if "if") (parenthesized_expression "(local_144 <= sVar3)" (( "(") (binary_expression "local_144 <= sVar3" (identifier "local_144") (<= "<=") (identifier "sVar3")) () ")")) (compound_statement "{\n          local_144 = sVar3 + 0x400;\n          free(local_148);\n          local_148 = (char *)xmalloc(local_144);\n        }" ({ "{") (expression_statement "local_144 = sVar3 + 0x400;" (assignment_expression "local_144 = sVar3 + 0x400" (identifier "local_144") (= "=") (binary_expression "sVar3 + 0x400" (identifier "sVar3") (+ "+") (number_literal "0x400"))) (; ";")) (expression_statement "free(local_148);" (call_expression "free(local_148)" (identifier "free") (argument_list "(local_148)" (( "(") (identifier "local_148") () ")"))) (; ";")) (expression_statement "local_148 = (char *)xmalloc(local_144);" (assignment_expression "local_148 = (char *)xmalloc(local_144)" (identifier "local_148") (= "=") (cast_expression "(char *)xmalloc(local_144)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(local_144)" (identifier "xmalloc") (argument_list "(local_144)" (( "(") (identifier "local_144") () ")"))))) (; ";")) (} "}"))) (expression_statement "strcpy(local_148,local_128);" (call_expression "strcpy(local_148,local_128)" (identifier "strcpy") (argument_list "(local_148,local_128)" (( "(") (identifier "local_148") (, ",") (identifier "local_128") () ")"))) (; ";")) (expression_statement "local_150 = iVar4;" (assignment_expression "local_150 = iVar4" (identifier "local_150") (= "=") (identifier "iVar4")) (; ";")) (} "}"))) (expression_statement "bVar14 = CARRY4(uVar12,DAT_0002e120);" (assignment_expression "bVar14 = CARRY4(uVar12,DAT_0002e120)" (identifier "bVar14") (= "=") (call_expression "CARRY4(uVar12,DAT_0002e120)" (identifier "CARRY4") (argument_list "(uVar12,DAT_0002e120)" (( "(") (identifier "uVar12") (, ",") (identifier "DAT_0002e120") () ")")))) (; ";")) (expression_statement "uVar12 = uVar12 + DAT_0002e120;" (assignment_expression "uVar12 = uVar12 + DAT_0002e120" (identifier "uVar12") (= "=") (binary_expression "uVar12 + DAT_0002e120" (identifier "uVar12") (+ "+") (identifier "DAT_0002e120"))) (; ";")) (expression_statement "uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;" (assignment_expression "uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14" (identifier "uVar13") (= "=") (binary_expression "uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14" (binary_expression "uVar13 + ((int)DAT_0002e120 >> 0x1f)" (identifier "uVar13") (+ "+") (parenthesized_expression "((int)DAT_0002e120 >> 0x1f)" (( "(") (binary_expression "(int)DAT_0002e120 >> 0x1f" (cast_expression "(int)DAT_0002e120" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_0002e120")) (>> ">>") (number_literal "0x1f")) () ")"))) (+ "+") (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9))" (( "(") (binary_expression "uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 < uVar8" (identifier "uVar13") (< "<") (identifier "uVar8")) (|| "||") (binary_expression "uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 - uVar8" (identifier "uVar13") (- "-") (identifier "uVar8")) (< "<") (call_expression "(uint)(uVar12 < uVar9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar12 < uVar9)" (( "(") (binary_expression "uVar12 < uVar9" (identifier "uVar12") (< "<") (identifier "uVar9")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar4 = local_124;" (assignment_expression "iVar4 = local_124" (identifier "iVar4") (= "=") (identifier "local_124")) (; ";")) (expression_statement "free(local_14c);" (call_expression "free(local_14c)" (identifier "free") (argument_list "(local_14c)" (( "(") (identifier "local_14c") () ")"))) (; ";")) (expression_statement "free(local_148);" (call_expression "free(local_148)" (identifier "free") (argument_list "(local_148)" (( "(") (identifier "local_148") () ")"))) (; ";")) (expression_statement "local_124 = iVar4 + DAT_0002e520;" (assignment_expression "local_124 = iVar4 + DAT_0002e520" (identifier "local_124") (= "=") (binary_expression "iVar4 + DAT_0002e520" (identifier "iVar4") (+ "+") (identifier "DAT_0002e520"))) (; ";")) (expression_statement "local_120 = (uint *)xmalloc(local_124 * 0xfc);" (assignment_expression "local_120 = (uint *)xmalloc(local_124 * 0xfc)" (identifier "local_120") (= "=") (cast_expression "(uint *)xmalloc(local_124 * 0xfc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(local_124 * 0xfc)" (identifier "xmalloc") (argument_list "(local_124 * 0xfc)" (( "(") (binary_expression "local_124 * 0xfc" (identifier "local_124") (* "*") (number_literal "0xfc")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);" (assignment_expression "uVar12 = *(uint *)(DAT_0002e4fc + 0x1c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(DAT_0002e4fc + 0x1c)" (* "*") (cast_expression "(uint *)(DAT_0002e4fc + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e4fc + 0x1c)" (( "(") (binary_expression "DAT_0002e4fc + 0x1c" (identifier "DAT_0002e4fc") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(DAT_0002e4fc + 0x20);" (assignment_expression "uVar13 = *(uint *)(DAT_0002e4fc + 0x20)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(DAT_0002e4fc + 0x20)" (* "*") (cast_expression "(uint *)(DAT_0002e4fc + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e4fc + 0x20)" (( "(") (binary_expression "DAT_0002e4fc + 0x20" (identifier "DAT_0002e4fc") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "local_11c = local_120;" (assignment_expression "local_11c = local_120" (identifier "local_11c") (= "=") (identifier "local_120")) (; ";")) (if_statement "if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }" (if "if") (parenthesized_expression "(uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9))" (( "(") (binary_expression "uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 < uVar8" (identifier "uVar13") (< "<") (identifier "uVar8")) (|| "||") (binary_expression "uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 - uVar8" (identifier "uVar13") (- "-") (identifier "uVar8")) (< "<") (call_expression "(uint)(uVar12 < uVar9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar12 < uVar9)" (( "(") (binary_expression "uVar12 < uVar9" (identifier "uVar12") (< "<") (identifier "uVar9")) () ")"))))) () ")")) (compound_statement "{\n    puVar11 = (uint *)0x0;\n    do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));\n  }" ({ "{") (expression_statement "puVar11 = (uint *)0x0;" (assignment_expression "puVar11 = (uint *)0x0" (identifier "puVar11") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));" (do "do") (compound_statement "{\n      FUN_0001ce40(local_11c);\n      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);\n      puVar10 = local_11c;\n      if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }\nLAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);\n      uVar12 = uVar12 + DAT_0002e120;\n      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;\n    }" ({ "{") (expression_statement "FUN_0001ce40(local_11c);" (call_expression "FUN_0001ce40(local_11c)" (identifier "FUN_0001ce40") (argument_list "(local_11c)" (( "(") (identifier "local_11c") () ")"))) (; ";")) (expression_statement "iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);" (assignment_expression "iVar4 = FUN_00018440(local_11c + 4,local_11c + 6)" (identifier "iVar4") (= "=") (call_expression "FUN_00018440(local_11c + 4,local_11c + 6)" (identifier "FUN_00018440") (argument_list "(local_11c + 4,local_11c + 6)" (( "(") (binary_expression "local_11c + 4" (identifier "local_11c") (+ "+") (number_literal "4")) (, ",") (binary_expression "local_11c + 6" (identifier "local_11c") (+ "+") (number_literal "6")) () ")")))) (; ";")) (expression_statement "puVar10 = local_11c;" (assignment_expression "puVar10 = local_11c" (identifier "puVar10") (= "=") (identifier "local_11c")) (; ";")) (if_statement "if (iVar4 != 0) {\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar7 = (char *)local_11c[4];\n        if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }\n        puVar11 = puVar10;\n        if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }\n        local_11c = puVar11 + 0x3f;\n        puVar11 = puVar10;\n      }" ({ "{") (expression_statement "pcVar7 = (char *)local_11c[4];" (assignment_expression "pcVar7 = (char *)local_11c[4]" (identifier "pcVar7") (= "=") (cast_expression "(char *)local_11c[4]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_11c[4]" (identifier "local_11c") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (puVar11 == (uint *)0x0) {\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }\n        else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }" (if "if") (parenthesized_expression "(puVar11 == (uint *)0x0)" (( "(") (binary_expression "puVar11 == (uint *)0x0" (identifier "puVar11") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          uVar6 = xstrdup(pcVar7);\n          puVar11 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar11[5] = uVar6;\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\nLAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);\n          puVar10 = local_11c;\n          if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }\n        }" ({ "{") (expression_statement "uVar6 = xstrdup(pcVar7);" (assignment_expression "uVar6 = xstrdup(pcVar7)" (identifier "uVar6") (= "=") (call_expression "xstrdup(pcVar7)" (identifier "xstrdup") (argument_list "(pcVar7)" (( "(") (identifier "pcVar7") () ")")))) (; ";")) (expression_statement "puVar11 = local_11c;" (assignment_expression "puVar11 = local_11c" (identifier "puVar11") (= "=") (identifier "local_11c")) (; ";")) (expression_statement "puVar10[4] = uVar6;" (assignment_expression "puVar10[4] = uVar6" (subscript_expression "puVar10[4]" (identifier "puVar10") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uVar6 = FUN_0001c820(local_128);" (assignment_expression "uVar6 = FUN_0001c820(local_128)" (identifier "uVar6") (= "=") (call_expression "FUN_0001c820(local_128)" (identifier "FUN_0001c820") (argument_list "(local_128)" (( "(") (identifier "local_128") () ")")))) (; ";")) (expression_statement "puVar11[5] = uVar6;" (assignment_expression "puVar11[5] = uVar6" (subscript_expression "puVar11[5]" (identifier "puVar11") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*local_11c = uVar12;" (assignment_expression "*local_11c = uVar12" (pointer_expression "*local_11c" (* "*") (identifier "local_11c")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "local_11c[1] = uVar13;" (assignment_expression "local_11c[1] = uVar13" (subscript_expression "local_11c[1]" (identifier "local_11c") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar13")) (; ";")) (labeled_statement "LAB_000198a0:\n          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);" (statement_identifier "LAB_000198a0") (: ":") (expression_statement "iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);" (assignment_expression "iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13)" (identifier "iVar4") (= "=") (call_expression "FUN_0001d480(&DAT_0002e520,uVar12,uVar13)" (identifier "FUN_0001d480") (argument_list "(&DAT_0002e520,uVar12,uVar13)" (( "(") (pointer_expression "&DAT_0002e520" (& "&") (identifier "DAT_0002e520")) (, ",") (identifier "uVar12") (, ",") (identifier "uVar13") () ")")))) (; ";"))) (expression_statement "puVar10 = local_11c;" (assignment_expression "puVar10 = local_11c" (identifier "puVar10") (= "=") (identifier "local_11c")) (; ";")) (if_statement "if (iVar4 != 0) {\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;\n          }" ({ "{") (expression_statement "*(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;" (assignment_expression "*(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(local_11c + 7)" (* "*") (cast_expression "(byte *)(local_11c + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_11c + 7)" (( "(") (binary_expression "local_11c + 7" (identifier "local_11c") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "(byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2" (binary_expression "(byte)local_11c[7] & 0xfd" (cast_expression "(byte)local_11c[7]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "local_11c[7]" (identifier "local_11c") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "0xfd")) (| "|") (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar4 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1c)" (( "(") (binary_expression "iVar4 + 0x1c" (identifier "iVar4") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }" (else "else") (compound_statement "{\n          if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }\n          uVar6 = xstrdup(pcVar7);\n          puVar2 = local_11c;\n          puVar10[4] = uVar6;\n          uVar6 = FUN_0001c820(local_128);\n          puVar10 = local_11c;\n          puVar2[5] = uVar6;\n          uVar6 = puVar11[5];\n          *local_11c = uVar12;\n          local_11c[1] = uVar13;\n          if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;\n          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;\n        }" ({ "{") (if_statement "if ((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }" (if "if") (parenthesized_expression "((puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0))" (( "(") (binary_expression "(puVar11[6] == local_11c[6]) &&\n             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)" (parenthesized_expression "(puVar11[6] == local_11c[6])" (( "(") (binary_expression "puVar11[6] == local_11c[6]" (subscript_expression "puVar11[6]" (identifier "puVar11") ([ "[") (number_literal "6") (] "]")) (== "==") (subscript_expression "local_11c[6]" (identifier "local_11c") ([ "[") (number_literal "6") (] "]"))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)" (( "(") (comma_expression "iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0" (assignment_expression "iVar4 = strcmp((char *)puVar11[4],pcVar7)" (identifier "iVar4") (= "=") (call_expression "strcmp((char *)puVar11[4],pcVar7)" (identifier "strcmp") (argument_list "((char *)puVar11[4],pcVar7)" (( "(") (cast_expression "(char *)puVar11[4]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[4]" (identifier "puVar11") ([ "[") (number_literal "4") (] "]"))) (, ",") (identifier "pcVar7") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);\n            if (iVar4 == 0) goto LAB_000198e5;\n            pcVar7 = (char *)local_11c[4];\n            puVar10 = local_11c;\n          }" ({ "{") (expression_statement "iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);" (assignment_expression "iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128)" (identifier "iVar4") (= "=") (call_expression "filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128)" (identifier "filename_cmp") (argument_list "(*(undefined4 *)(puVar11[5] + 4),local_128)" (( "(") (pointer_expression "*(undefined4 *)(puVar11[5] + 4)" (* "*") (cast_expression "(undefined4 *)(puVar11[5] + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11[5] + 4)" (( "(") (binary_expression "puVar11[5] + 4" (subscript_expression "puVar11[5]" (identifier "puVar11") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "local_128") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_000198e5;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000198e5;" (goto "goto") (statement_identifier "LAB_000198e5") (; ";"))) (expression_statement "pcVar7 = (char *)local_11c[4];" (assignment_expression "pcVar7 = (char *)local_11c[4]" (identifier "pcVar7") (= "=") (cast_expression "(char *)local_11c[4]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_11c[4]" (identifier "local_11c") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "puVar10 = local_11c;" (assignment_expression "puVar10 = local_11c" (identifier "puVar10") (= "=") (identifier "local_11c")) (; ";")) (} "}"))) (expression_statement "uVar6 = xstrdup(pcVar7);" (assignment_expression "uVar6 = xstrdup(pcVar7)" (identifier "uVar6") (= "=") (call_expression "xstrdup(pcVar7)" (identifier "xstrdup") (argument_list "(pcVar7)" (( "(") (identifier "pcVar7") () ")")))) (; ";")) (expression_statement "puVar2 = local_11c;" (assignment_expression "puVar2 = local_11c" (identifier "puVar2") (= "=") (identifier "local_11c")) (; ";")) (expression_statement "puVar10[4] = uVar6;" (assignment_expression "puVar10[4] = uVar6" (subscript_expression "puVar10[4]" (identifier "puVar10") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uVar6 = FUN_0001c820(local_128);" (assignment_expression "uVar6 = FUN_0001c820(local_128)" (identifier "uVar6") (= "=") (call_expression "FUN_0001c820(local_128)" (identifier "FUN_0001c820") (argument_list "(local_128)" (( "(") (identifier "local_128") () ")")))) (; ";")) (expression_statement "puVar10 = local_11c;" (assignment_expression "puVar10 = local_11c" (identifier "puVar10") (= "=") (identifier "local_11c")) (; ";")) (expression_statement "puVar2[5] = uVar6;" (assignment_expression "puVar2[5] = uVar6" (subscript_expression "puVar2[5]" (identifier "puVar2") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uVar6 = puVar11[5];" (assignment_expression "uVar6 = puVar11[5]" (identifier "uVar6") (= "=") (subscript_expression "puVar11[5]" (identifier "puVar11") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "*local_11c = uVar12;" (assignment_expression "*local_11c = uVar12" (pointer_expression "*local_11c" (* "*") (identifier "local_11c")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "local_11c[1] = uVar13;" (assignment_expression "local_11c[1] = uVar13" (subscript_expression "local_11c[1]" (identifier "local_11c") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar13")) (; ";")) (if_statement "if ((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))\n          goto LAB_000198a0;" (if "if") (parenthesized_expression "((local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))" (( "(") (binary_expression "(local_11c[5] != uVar6) ||\n             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0)" (parenthesized_expression "(local_11c[5] != uVar6)" (( "(") (binary_expression "local_11c[5] != uVar6" (subscript_expression "local_11c[5]" (identifier "local_11c") ([ "[") (number_literal "5") (] "]")) (!= "!=") (identifier "uVar6")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0)" (( "(") (comma_expression "iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0" (assignment_expression "iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4])" (identifier "iVar4") (= "=") (call_expression "strcmp((char *)local_11c[4],(char *)puVar11[4])" (identifier "strcmp") (argument_list "((char *)local_11c[4],(char *)puVar11[4])" (( "(") (cast_expression "(char *)local_11c[4]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_11c[4]" (identifier "local_11c") ([ "[") (number_literal "4") (] "]"))) (, ",") (cast_expression "(char *)puVar11[4]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[4]" (identifier "puVar11") ([ "[") (number_literal "4") (] "]"))) () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_000198a0;" (goto "goto") (statement_identifier "LAB_000198a0") (; ";"))) (expression_statement "*(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;" (assignment_expression "*(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2" (pointer_expression "*(byte *)(puVar10 + 7)" (* "*") (cast_expression "(byte *)(puVar10 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 7)" (( "(") (binary_expression "puVar10 + 7" (identifier "puVar10") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "(byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2" (binary_expression "(byte)puVar10[7] & 0xfd" (cast_expression "(byte)puVar10[7]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar10[7]" (identifier "puVar10") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "0xfd")) (| "|") (binary_expression "(byte)puVar11[7] & 2" (cast_expression "(byte)puVar11[7]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar11[7]" (identifier "puVar11") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")))) (; ";")) (} "}")))) (expression_statement "puVar11 = puVar10;" (assignment_expression "puVar11 = puVar10" (identifier "puVar11") (= "=") (identifier "puVar10")) (; ";")) (if_statement "if (((byte)DAT_0002e158 & 0x80) != 0) {\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }" (if "if") (parenthesized_expression "(((byte)DAT_0002e158 & 0x80) != 0)" (( "(") (binary_expression "((byte)DAT_0002e158 & 0x80) != 0" (parenthesized_expression "((byte)DAT_0002e158 & 0x80)" (( "(") (binary_expression "(byte)DAT_0002e158 & 0x80" (cast_expression "(byte)DAT_0002e158" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0002e158")) (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);\n          puVar11 = local_11c;\n        }" ({ "{") (expression_statement "printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);" (call_expression "printf("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10)" (identifier "printf") (argument_list "("[core_create_line_syms] %lu %s 0x%lx\n",\n                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10)" (( "(") (string_literal ""[core_create_line_syms] %lu %s 0x%lx\n"" (" """) (string_content "[core_create_line_syms] %lu %s 0x%lx") (escape_sequence "\n") (" """)) (, ",") (binary_expression "((int)puVar10 - (int)local_120 >> 2) * -0x41041041" (parenthesized_expression "((int)puVar10 - (int)local_120 >> 2)" (( "(") (binary_expression "(int)puVar10 - (int)local_120 >> 2" (binary_expression "(int)puVar10 - (int)local_120" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (- "-") (cast_expression "(int)local_120" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_120"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x41041041")) (, ",") (subscript_expression "puVar10[4]" (identifier "puVar10") ([ "[") (number_literal "4") (] "]")) (, ",") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) () ")"))) (; ";")) (expression_statement "puVar11 = local_11c;" (assignment_expression "puVar11 = local_11c" (identifier "puVar11") (= "=") (identifier "local_11c")) (; ";")) (} "}"))) (expression_statement "local_11c = puVar11 + 0x3f;" (assignment_expression "local_11c = puVar11 + 0x3f" (identifier "local_11c") (= "=") (binary_expression "puVar11 + 0x3f" (identifier "puVar11") (+ "+") (number_literal "0x3f"))) (; ";")) (expression_statement "puVar11 = puVar10;" (assignment_expression "puVar11 = puVar10" (identifier "puVar11") (= "=") (identifier "puVar10")) (; ";")) (} "}"))) (labeled_statement "LAB_000198e5:\n      bVar14 = CARRY4(uVar12,DAT_0002e120);" (statement_identifier "LAB_000198e5") (: ":") (expression_statement "bVar14 = CARRY4(uVar12,DAT_0002e120);" (assignment_expression "bVar14 = CARRY4(uVar12,DAT_0002e120)" (identifier "bVar14") (= "=") (call_expression "CARRY4(uVar12,DAT_0002e120)" (identifier "CARRY4") (argument_list "(uVar12,DAT_0002e120)" (( "(") (identifier "uVar12") (, ",") (identifier "DAT_0002e120") () ")")))) (; ";"))) (expression_statement "uVar12 = uVar12 + DAT_0002e120;" (assignment_expression "uVar12 = uVar12 + DAT_0002e120" (identifier "uVar12") (= "=") (binary_expression "uVar12 + DAT_0002e120" (identifier "uVar12") (+ "+") (identifier "DAT_0002e120"))) (; ";")) (expression_statement "uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;" (assignment_expression "uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14" (identifier "uVar13") (= "=") (binary_expression "uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14" (binary_expression "uVar13 + ((int)DAT_0002e120 >> 0x1f)" (identifier "uVar13") (+ "+") (parenthesized_expression "((int)DAT_0002e120 >> 0x1f)" (( "(") (binary_expression "(int)DAT_0002e120 >> 0x1f" (cast_expression "(int)DAT_0002e120" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_0002e120")) (>> ">>") (number_literal "0x1f")) () ")"))) (+ "+") (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9))" (( "(") (binary_expression "uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 < uVar8" (identifier "uVar13") (< "<") (identifier "uVar8")) (|| "||") (binary_expression "uVar13 - uVar8 < (uint)(uVar12 < uVar9)" (binary_expression "uVar13 - uVar8" (identifier "uVar13") (- "-") (identifier "uVar8")) (< "<") (call_expression "(uint)(uVar12 < uVar9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar12 < uVar9)" (( "(") (binary_expression "uVar12 < uVar9" (identifier "uVar12") (< "<") (identifier "uVar9")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);" (call_expression "memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc)" (identifier "memcpy") (argument_list "(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc)" (( "(") (identifier "local_11c") (, ",") (identifier "DAT_0002e524") (, ",") (binary_expression "DAT_0002e520 * 0xfc" (identifier "DAT_0002e520") (* "*") (number_literal "0xfc")) () ")"))) (; ";")) (expression_statement "iVar4 = local_124;" (assignment_expression "iVar4 = local_124" (identifier "iVar4") (= "=") (identifier "local_124")) (; ";")) (expression_statement "uVar1 = DAT_0002e508;" (assignment_expression "uVar1 = DAT_0002e508" (identifier "uVar1") (= "=") (identifier "DAT_0002e508")) (; ";")) (expression_statement "local_11c = local_11c + DAT_0002e520 * 0x3f;" (assignment_expression "local_11c = local_11c + DAT_0002e520 * 0x3f" (identifier "local_11c") (= "=") (binary_expression "local_11c + DAT_0002e520 * 0x3f" (identifier "local_11c") (+ "+") (binary_expression "DAT_0002e520 * 0x3f" (identifier "DAT_0002e520") (* "*") (number_literal "0x3f")))) (; ";")) (expression_statement "iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;" (assignment_expression "iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041" (identifier "iVar5") (= "=") (binary_expression "((int)local_11c - (int)local_120 >> 2) * -0x41041041" (parenthesized_expression "((int)local_11c - (int)local_120 >> 2)" (( "(") (binary_expression "(int)local_11c - (int)local_120 >> 2" (binary_expression "(int)local_11c - (int)local_120" (cast_expression "(int)local_11c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_11c")) (- "-") (cast_expression "(int)local_120" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_120"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x41041041"))) (; ";")) (if_statement "if (iVar5 - local_124 != 0) {\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    \n    FUN_0001adb0(1);\n  }" (if "if") (parenthesized_expression "(iVar5 - local_124 != 0)" (( "(") (binary_expression "iVar5 - local_124 != 0" (binary_expression "iVar5 - local_124" (identifier "iVar5") (- "-") (identifier "local_124")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);\n    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);\n                    \n    FUN_0001adb0(1);\n  }" ({ "{") (expression_statement "pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508);" (assignment_expression "pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508)" (identifier "pcVar7") (= "=") (cast_expression "(char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508)" (identifier "dcgettext") (argument_list "("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,\n                               &DAT_0002e508)" (( "(") (string_literal ""gprof"" (" """) (string_content "gprof") (" """)) (, ",") (string_literal ""%s: somebody miscounted: ltab.len=%d instead of %ld\n"" (" """) (string_content "%s: somebody miscounted: ltab.len=%d instead of %ld") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") (, ",") (pointer_expression "&DAT_0002e508" (& "&") (identifier "DAT_0002e508")) () ")"))))) (; ";")) (expression_statement "fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);" (call_expression "fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5)" (identifier "fprintf") (argument_list "(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5)" (( "(") (pointer_expression "*(FILE **)PTR_stderr_0002cfcc" (* "*") (cast_expression "(FILE **)PTR_stderr_0002cfcc" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stderr_0002cfcc"))) (, ",") (identifier "pcVar7") (, ",") (identifier "uVar1") (, ",") (identifier "iVar4") (, ",") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "FUN_0001adb0(1);" (call_expression "FUN_0001adb0(1)" (identifier "FUN_0001adb0") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0001ce90(&local_124);" (call_expression "FUN_0001ce90(&local_124)" (identifier "FUN_0001ce90") (argument_list "(&local_124)" (( "(") (pointer_expression "&local_124" (& "&") (identifier "local_124")) () ")"))) (; ";")) (expression_statement "free(DAT_0002e524);" (call_expression "free(DAT_0002e524)" (identifier "free") (argument_list "(DAT_0002e524)" (( "(") (identifier "DAT_0002e524") () ")"))) (; ";")) (expression_statement "DAT_0002e520 = local_124;" (assignment_expression "DAT_0002e520 = local_124" (identifier "DAT_0002e520") (= "=") (identifier "local_124")) (; ";")) (expression_statement "DAT_0002e524 = local_120;" (assignment_expression "DAT_0002e524 = local_120" (identifier "DAT_0002e524") (= "=") (identifier "local_120")) (; ";")) (expression_statement "DAT_0002e528 = local_11c;" (assignment_expression "DAT_0002e528 = local_11c" (identifier "DAT_0002e528") (= "=") (identifier "local_11c")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  type_1 var_22;
  type_2 *pSVar2;
  size_t var_17;
  type_3 var_10;
  int var_13;
  char *pcVar6;
  type_4 *var_29;
  char *__format;
  char **var_5;
  char **var_7;
  type_2 *pSVar10;
  type_2 *var_24;
  char **var_6;
  int var_28;
  char **var_4;
  bool bVar15;
  int var_11;
  char *local_14c;
  char *local_148;
  type_1 var_20;
  type_1 var_16;
  char *filename;
  type_5 ltab;
  type_2 dummy;
  
  var_1();
  local_14c = (char *)var_2(0x1000);
  local_148 = (char *)var_2(0x1000);
  ltab.len = 0;
  var_6 = *(char ***)&core_text_sect->vma;
  var_4 = *(char ***)((int)&core_text_sect->vma + 4);
  var_7 = (char **)((int)var_6 + (int)core_text_sect->size);
  var_5 = (char **)((int)var_4 +
                     (type_1)var_3((type_1)var_6,(type_1)core_text_sect->size) +
                     *(int *)((int)&core_text_sect->size + 4));
  if (var_4 < var_5 || (type_1)((int)var_4 - (int)var_5) < (type_1)(var_6 < var_7)) {
    var_11 = 0;
    var_20 = 0x1000;
    var_16 = 0x1000;
    do {
      var_10 = var_8(var_9(&dummy.line_num,&dummy.name),var_6,var_4,(int *)&filename)
      ;
      pcVar6 = dummy.name;
      if ((var_10 != 0) &&
         (((var_28 = dummy.line_num, dummy.line_num != var_11 ||
           (var_13 = var_12(local_14c,dummy.name), var_28 = var_11, var_13 != 0)) ||
          (var_13 = var_14(local_148,filename), pcVar6 = dummy.name, var_28 = dummy.line_num,
          var_13 != 0)))) {
        ltab.len = ltab.len + 1;
        var_17 = var_15(pcVar6);
        if (var_16 <= var_17) {
          var_16 = var_17 + 0x400;
          var_18(local_14c);
          local_14c = (char *)var_2(var_16);
          pcVar6 = dummy.name;
        }
        var_19(local_14c,pcVar6);
        pcVar6 = filename;
        var_17 = var_15(filename);
        if (var_20 <= var_17) {
          var_20 = var_17 + 0x400;
          var_18(local_148);
          local_148 = (char *)var_2(var_20);
          pcVar6 = filename;
        }
        var_19(local_148,pcVar6);
        var_11 = var_28;
      }
      bVar15 = var_3((type_1)var_6,var_21);
      var_6 = (char **)((int)var_6 + var_21);
      var_4 = (char **)((int)var_4 + (type_1)bVar15 + (var_21 >> 0x1f));
    } while (var_4 < var_5 || (type_1)((int)var_4 - (int)var_5) < (type_1)(var_6 < var_7)
            );
  }
  var_22 = ltab.len;
  var_18(local_14c);
  var_18(local_148);
  ltab.len = var_22 + symtab.len;
  ltab.base = (type_2 *)var_2(ltab.len * 0xfc);
  var_6 = *(char ***)&core_text_sect->vma;
  var_4 = *(char ***)((int)&core_text_sect->vma + 4);
  ltab.limit = ltab.base;
  if (var_4 < var_5 || (type_1)((int)var_4 - (int)var_5) < (type_1)(var_6 < var_7)) {
    var_24 = (type_2 *)0x0;
    do {
      var_23(ltab.limit);
      var_10 = var_8(var_9(&(ltab.limit)->line_num,&(ltab.limit)->name),var_6,var_4,
                           (int *)&filename);
      pSVar10 = ltab.limit;
      if (var_10 != 0) {
        pcVar6 = (ltab.limit)->name;
        if (var_24 == (type_2 *)0x0) {
          pcVar6 = (char *)var_25(pcVar6);
          var_24 = ltab.limit;
          pSVar10->name = pcVar6;
          var_29 = var_26(filename);
          var_24->file = var_29;
          *(char ***)&(ltab.limit)->addr = var_6;
          *(char ***)((int)&(ltab.limit)->addr + 4) = var_4;
LAB_000198a0:
          var_24 = var_27(&symtab,var_9(var_4,var_6));
          pSVar10 = ltab.limit;
          if (var_24 != (type_2 *)0x0) {
            (ltab.limit)->field_0x1c = (ltab.limit)->field_0x1c & 0xfd | var_24->field_0x1c & 2;
          }
        }
        else {
          if ((var_24->line_num == (ltab.limit)->line_num) &&
             (var_28 = var_12(var_24->name,pcVar6), var_28 == 0)) {
            var_28 = var_14(var_24->file->name,filename);
            if (var_28 == 0) goto LAB_000198e5;
            pcVar6 = (ltab.limit)->name;
            pSVar10 = ltab.limit;
          }
          pcVar6 = (char *)var_25(pcVar6);
          pSVar2 = ltab.limit;
          pSVar10->name = pcVar6;
          var_29 = var_26(filename);
          pSVar10 = ltab.limit;
          pSVar2->file = var_29;
          var_29 = var_24->file;
          *(char ***)&(ltab.limit)->addr = var_6;
          *(char ***)((int)&(ltab.limit)->addr + 4) = var_4;
          if (((ltab.limit)->file != var_29) ||
             (var_28 = var_12((ltab.limit)->name,var_24->name), var_28 != 0)) goto LAB_000198a0;
          pSVar10->field_0x1c = pSVar10->field_0x1c & 0xfd | var_24->field_0x1c & 2;
        }
        var_24 = pSVar10;
        if (((type_6)debug_level & 0x80) != 0) {
          var_30("[core_create_line_syms] %lu %s 0x%lx\n",
                 ((int)pSVar10 - (int)ltab.base >> 2) * -0x41041041,pSVar10->name,(int)pSVar10->addr
                );
          var_24 = ltab.limit;
        }
        ltab.limit = var_24 + 1;
        var_24 = pSVar10;
      }
LAB_000198e5:
      bVar15 = var_3((type_1)var_6,var_21);
      var_6 = (char **)((int)var_6 + var_21);
      var_4 = (char **)((int)var_4 + (type_1)bVar15 + (var_21 >> 0x1f));
    } while (var_4 < var_5 || (type_1)((int)var_4 - (int)var_5) < (type_1)(var_6 < var_7)
            );
  }
  var_31(ltab.limit,symtab.base,symtab.len * 0xfc);
  var_22 = ltab.len;
  pcVar6 = whoami;
  ltab.limit = ltab.limit + symtab.len;
  var_28 = ((int)ltab.limit - (int)ltab.base >> 2) * -0x41041041;
  if (var_28 - ltab.len != 0) {
    __format = (char *)var_32("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,
                                 &whoami);
    var_33(*(type_7 **)PTR_stderr_0002cfcc,__format,pcVar6,var_22,var_28);
                    /* WARNING: Subroutine does not return */
    var_34(1);
  }
  var_35(&ltab);
  var_18(symtab.base);
  symtab.len = ltab.len;
  symtab.base = ltab.base;
  symtab.limit = ltab.limit;
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (do_statement body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)) (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content) (escape_sequence)) (number_literal) (pointer_expression argument: (identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) (identifier) (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (return_statement))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void MASKED(void)

{
  undefined4 uVar1;
  uint *puVar2;
  size_t sVar3;
  int iVar4;
  int iVar5;
  uint uVar6;
  char *pcVar7;
  uint uVar8;
  uint uVar9;
  uint *puVar10;
  uint *puVar11;
  uint uVar12;
  uint uVar13;
  bool bVar14;
  int local_150;
  char *local_14c;
  char *local_148;
  uint local_144;
  uint local_140;
  char *local_128;
  int local_124;
  uint *local_120;
  uint *local_11c;
  char *local_108 [2];
  int local_100 [59];
  undefined4 uStack_14;
  
  uStack_14 = 0x195a9;
  FUN_000190e0();
  local_14c = (char *)xmalloc(0x1000);
  local_148 = (char *)xmalloc(0x1000);
  local_124 = 0;
  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);
  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);
  uVar9 = uVar12 + *(uint *)(DAT_0002e4fc + 0x2c);
  uVar8 = uVar13 + *(int *)(DAT_0002e4fc + 0x30) +
          (uint)CARRY4(uVar12,*(uint *)(DAT_0002e4fc + 0x2c));
  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {
    local_150 = 0;
    local_144 = 0x1000;
    local_140 = 0x1000;
    do {
      iVar4 = FUN_00018440(local_108,local_100);
      pcVar7 = local_108[0];
      if ((iVar4 != 0) &&
         (((iVar4 = local_100[0], local_100[0] != local_150 ||
           (iVar5 = strcmp(local_14c,local_108[0]), iVar4 = local_150, iVar5 != 0)) ||
          (iVar5 = filename_cmp(local_148,local_128), pcVar7 = local_108[0], iVar4 = local_100[0],
          iVar5 != 0)))) {
        local_124 = local_124 + 1;
        sVar3 = strlen(pcVar7);
        if (local_140 <= sVar3) {
          local_140 = sVar3 + 0x400;
          free(local_14c);
          local_14c = (char *)xmalloc(local_140);
          pcVar7 = local_108[0];
        }
        strcpy(local_14c,pcVar7);
        sVar3 = strlen(local_128);
        if (local_144 <= sVar3) {
          local_144 = sVar3 + 0x400;
          free(local_148);
          local_148 = (char *)xmalloc(local_144);
        }
        strcpy(local_148,local_128);
        local_150 = iVar4;
      }
      bVar14 = CARRY4(uVar12,DAT_0002e120);
      uVar12 = uVar12 + DAT_0002e120;
      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;
    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));
  }
  iVar4 = local_124;
  free(local_14c);
  free(local_148);
  local_124 = iVar4 + DAT_0002e520;
  local_120 = (uint *)xmalloc(local_124 * 0xfc);
  uVar12 = *(uint *)(DAT_0002e4fc + 0x1c);
  uVar13 = *(uint *)(DAT_0002e4fc + 0x20);
  local_11c = local_120;
  if (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9)) {
    puVar11 = (uint *)0x0;
    do {
      FUN_0001ce40(local_11c);
      iVar4 = FUN_00018440(local_11c + 4,local_11c + 6);
      puVar10 = local_11c;
      if (iVar4 != 0) {
        pcVar7 = (char *)local_11c[4];
        if (puVar11 == (uint *)0x0) {
          uVar6 = xstrdup(pcVar7);
          puVar11 = local_11c;
          puVar10[4] = uVar6;
          uVar6 = FUN_0001c820(local_128);
          puVar11[5] = uVar6;
          *local_11c = uVar12;
          local_11c[1] = uVar13;
LAB_000198a0:
          iVar4 = FUN_0001d480(&DAT_0002e520,uVar12,uVar13);
          puVar10 = local_11c;
          if (iVar4 != 0) {
            *(byte *)(local_11c + 7) = (byte)local_11c[7] & 0xfd | *(byte *)(iVar4 + 0x1c) & 2;
          }
        }
        else {
          if ((puVar11[6] == local_11c[6]) &&
             (iVar4 = strcmp((char *)puVar11[4],pcVar7), iVar4 == 0)) {
            iVar4 = filename_cmp(*(undefined4 *)(puVar11[5] + 4),local_128);
            if (iVar4 == 0) goto LAB_000198e5;
            pcVar7 = (char *)local_11c[4];
            puVar10 = local_11c;
          }
          uVar6 = xstrdup(pcVar7);
          puVar2 = local_11c;
          puVar10[4] = uVar6;
          uVar6 = FUN_0001c820(local_128);
          puVar10 = local_11c;
          puVar2[5] = uVar6;
          uVar6 = puVar11[5];
          *local_11c = uVar12;
          local_11c[1] = uVar13;
          if ((local_11c[5] != uVar6) ||
             (iVar4 = strcmp((char *)local_11c[4],(char *)puVar11[4]), iVar4 != 0))
          goto LAB_000198a0;
          *(byte *)(puVar10 + 7) = (byte)puVar10[7] & 0xfd | (byte)puVar11[7] & 2;
        }
        puVar11 = puVar10;
        if (((byte)DAT_0002e158 & 0x80) != 0) {
          printf("[core_create_line_syms] %lu %s 0x%lx\n",
                 ((int)puVar10 - (int)local_120 >> 2) * -0x41041041,puVar10[4],*puVar10);
          puVar11 = local_11c;
        }
        local_11c = puVar11 + 0x3f;
        puVar11 = puVar10;
      }
LAB_000198e5:
      bVar14 = CARRY4(uVar12,DAT_0002e120);
      uVar12 = uVar12 + DAT_0002e120;
      uVar13 = uVar13 + ((int)DAT_0002e120 >> 0x1f) + (uint)bVar14;
    } while (uVar13 < uVar8 || uVar13 - uVar8 < (uint)(uVar12 < uVar9));
  }
  memcpy(local_11c,DAT_0002e524,DAT_0002e520 * 0xfc);
  iVar4 = local_124;
  uVar1 = DAT_0002e508;
  local_11c = local_11c + DAT_0002e520 * 0x3f;
  iVar5 = ((int)local_11c - (int)local_120 >> 2) * -0x41041041;
  if (iVar5 - local_124 != 0) {
    pcVar7 = (char *)dcgettext("gprof","%s: somebody miscounted: ltab.len=%d instead of %ld\n",5,
                               &DAT_0002e508);
    fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar7,uVar1,iVar4,iVar5);
                    /* WARNING: Subroutine does not return */
    FUN_0001adb0(1);
  }
  FUN_0001ce90(&local_124);
  free(DAT_0002e524);
  DAT_0002e520 = local_124;
  DAT_0002e524 = local_120;
  DAT_0002e528 = local_11c;
  return;
}

