
int display_debug_macro(dwarf_section *section,void *file)

{
  uint uVar1;
  uchar *puVar2;
  int iVar3;
  uchar uVar4;
  uint uVar5;
  elf_vma eVar6;
  char *pcVar7;
  elf_vma eVar8;
  elf_vma eVar9;
  uchar **ppuVar10;
  dwarf_vma dVar11;
  ulong uVar12;
  uchar *puVar13;
  ulong uVar14;
  size_t sVar15;
  dwarf_vma dVar16;
  long lVar17;
  uchar *puVar18;
  dwarf_section *section_1;
  ulong uVar19;
  ulong uVar20;
  uchar *end;
  uchar *end_00;
  dwarf_vma dVar21;
  undefined1 *puVar22;
  int iVar23;
  int iVar24;
  int iVar25;
  char *pcVar26;
  uint *puVar27;
  uint uVar28;
  uchar *puVar29;
  uchar *puVar30;
  byte bVar31;
  uchar *local_890;
  elf_vma local_878;
  uchar **local_868;
  uint bytes_read;
  uint bytes_read_1;
  uchar *extended_op_buf [256];
  
  bVar31 = 0;
  puVar2 = section->start;
  end = puVar2 + section->size;
  load_debug_section_with_follow(str,file);
  load_debug_section_with_follow(line,file);
  introduce((dwarf_section *)section->name,(int)section + 0x18,section_1);
  puVar13 = puVar2;
  if (end <= puVar2) {
    return 1;
  }
LAB_0014807f:
  puVar29 = puVar13 + 2;
  iVar3 = (int)end;
  if (puVar29 < end) {
    iVar24 = 2;
  }
  else {
    iVar24 = iVar3 - (int)puVar13;
    if (7 < iVar24 - 1U) goto LAB_0014809e;
  }
  eVar6 = (*byte_get)(puVar13,iVar24);
  if (1 < (int)eVar6 - 4U) {
LAB_0014809e:
    pcVar26 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";
    pcVar7 = section->name;
LAB_001480b3:
    pcVar26 = (char *)dcgettext(0,pcVar26,5);
    error(pcVar26,pcVar7);
    return 0;
  }
  puVar30 = puVar13 + 3;
  if (end <= puVar30) {
    if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_001481bd;
    pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);
    printf(pcVar7,(long)puVar13 - (long)puVar2);
    pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5);
    printf(pcVar7,eVar6 & 0xffffffff);
    pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);
    printf(pcVar7,4);
    goto LAB_00148184;
  }
  iVar24 = 1;
LAB_001481bd:
  eVar8 = (*byte_get)(puVar29,iVar24);
  uVar28 = (-(uint)((eVar8 & 1) == 0) & 0xfffffffc) + 8;
  pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);
  printf(pcVar7,(long)puVar13 - (long)puVar2);
  pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5);
  printf(pcVar7,eVar6 & 0xffffffff);
  pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);
  printf(pcVar7,(ulong)uVar28);
  if ((eVar8 & 2) == 0) {
    local_878 = 0;
  }
  else {
    uVar5 = uVar28;
    if ((puVar30 + uVar28 < end) ||
       ((local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)))) {
      local_878 = (*byte_get)(puVar30,uVar5);
    }
    pcVar7 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);
    printf(pcVar7,local_878);
    puVar30 = puVar30 + uVar28;
  }
  if ((eVar8 & 4) == 0) {
    local_868 = (uchar **)0x0;
    puVar29 = puVar30;
  }
  else {
    puVar29 = puVar30 + 1;
    if (end <= puVar29) {
      if ((puVar30 < end) && (iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8)) {
        eVar9 = (*byte_get)(puVar30,iVar24);
        uVar5 = (uint)eVar9;
        ppuVar10 = extended_op_buf;
        for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {
          *ppuVar10 = (uchar *)0x0;
          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;
        }
        if (uVar5 != 0) goto LAB_001482f8;
      }
LAB_00148184:
      putchar(10);
LAB_0014818e:
      pcVar7 = (char *)dcgettext(0,".debug_macro section not zero terminated\n",5);
      error(pcVar7);
      return 0;
    }
    local_868 = extended_op_buf;
    eVar9 = (*byte_get)(puVar30,1);
    uVar5 = (uint)eVar9;
    ppuVar10 = local_868;
    for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {
      *ppuVar10 = (uchar *)0x0;
      ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;
    }
    if (uVar5 == 0) {
      putchar(10);
      goto LAB_0014840e;
    }
LAB_001482f8:
    local_868 = extended_op_buf;
    pcVar7 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);
    printf(pcVar7);
    uVar1 = 0;
    do {
      puVar13 = puVar29 + 1;
      if (puVar13 < end) {
        iVar24 = 1;
LAB_00148b15:
        eVar9 = (*byte_get)(puVar29,iVar24);
        uVar12 = eVar9 & 0xffffffff;
        ppuVar10 = local_868 + (eVar9 & 0xffffffff);
      }
      else {
        if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;
        uVar12 = 0;
        ppuVar10 = local_868;
      }
      *ppuVar10 = puVar13;
      dVar11 = read_leb128(puVar13,&bytes_read,0,end);
      puVar29 = puVar13 + bytes_read;
      if (dVar11 == 0) {
        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);
        printf(pcVar7,uVar12);
      }
      else {
        dVar21 = 0;
        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);
        printf(pcVar7,uVar12);
        puVar13 = puVar29;
        do {
          puVar29 = puVar13 + 1;
          if (end <= puVar29) {
            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))
            goto LAB_00148c15;
            if (dVar21 == dVar11 - 1) {
              pcVar7 = get_FORM_name(0);
              pcVar26 = "\n";
            }
            else {
              pcVar7 = get_FORM_name(0);
              pcVar26 = ", ";
            }
            uVar12 = 0;
            printf("%s%s",pcVar7,pcVar26);
LAB_00148bf3:
            pcVar7 = get_FORM_name(uVar12);
            pcVar26 = "Invalid extension opcode form %s\n";
            goto LAB_001480b3;
          }
          iVar24 = 1;
LAB_00148c15:
          eVar9 = (*byte_get)(puVar13,iVar24);
          pcVar7 = ", ";
          uVar12 = eVar9 & 0xffffffff;
          if (dVar11 - 1 == dVar21) {
            pcVar7 = "\n";
          }
          pcVar26 = get_FORM_name(uVar12);
          printf("%s%s",pcVar26,pcVar7);
          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))
          goto LAB_00148bf3;
          dVar21 = dVar21 + 1;
          puVar13 = puVar29;
        } while (dVar21 != dVar11);
      }
      uVar1 = uVar1 + 1;
    } while (uVar1 < uVar5);
  }
  putchar(10);
  if (puVar29 < end) {
LAB_0014840e:
    puVar13 = puVar29 + 1;
    if (puVar13 < end) goto LAB_001484f6;
LAB_00148430:
    iVar24 = iVar3 - (int)puVar29;
    if ((7 < iVar24 - 1U) || (uVar12 = (*byte_get)(puVar29,iVar24), (int)uVar12 == 0)) {
      putchar(10);
      return 1;
    }
LAB_00148456:
    uVar14 = uVar12 & 0xffffffff;
    puVar29 = puVar13;
    switch(uVar14) {
    default:
      if ((local_868 == (uchar **)0x0) ||
         (puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0)) {
        pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5);
        error(pcVar7,uVar14);
        return 0;
      }
      dVar11 = read_leb128(puVar30,&bytes_read,0,end);
      if (dVar11 == 0) {
        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);
        printf(pcVar7,uVar14);
      }
      else {
        puVar30 = puVar30 + bytes_read;
        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);
        printf(pcVar7);
        puVar29 = puVar30;
        do {
          puVar18 = puVar29 + 1;
          if (puVar18 < end) {
            iVar24 = 1;
LAB_00148aea:
            eVar9 = (*byte_get)(puVar29,iVar24);
            uVar12 = (ulong)(int)eVar9;
          }
          else {
            uVar12 = 0;
            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))
            goto LAB_00148aea;
          }
          puVar13 = read_and_display_attr_value
                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0
                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');
          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {
            putchar(0x2c);
          }
          puVar29 = puVar18;
        } while (puVar18 != puVar30 + dVar11);
        putchar(10);
        puVar29 = puVar13;
      }
      break;
    case 1:
      dVar11 = read_leb128(puVar13,&bytes_read,0,end);
      puVar13 = puVar13 + bytes_read;
      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);
      pcVar7 = " DW_MACRO_define - lineno : %d macro : %s\n";
      puVar29 = puVar13 + sVar15 + 1;
      goto LAB_00148802;
    case 2:
      dVar11 = read_leb128(puVar13,&bytes_read,0,end);
      puVar13 = puVar13 + bytes_read;
      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);
      pcVar7 = " DW_MACRO_undef - lineno : %d macro : %s\n";
      puVar29 = puVar13 + sVar15 + 1;
LAB_00148802:
      pcVar7 = (char *)dcgettext(0,pcVar7,5);
      printf(pcVar7,dVar11 & 0xffffffff,puVar13);
      break;
    case 3:
      puVar27 = &bytes_read;
      dVar11 = read_leb128(puVar13,&bytes_read,0,end);
      uVar12 = (ulong)bytes_read;
      dVar21 = read_leb128(puVar13 + uVar12,puVar27,0,end);
      puVar29 = puVar13 + uVar12 + bytes_read;
      if ((eVar8 & 2) == 0) {
        pcVar7 = (char *)dcgettext(0,
                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"
                                   ,5);
        error(pcVar7);
      }
      else {
        uVar12 = dVar21 & 0xffffffff;
        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {
          puVar30 = (uchar *)(DAT_001912a0 + local_878);
          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);
          puVar13 = puVar30 + 4;
          iVar24 = (int)end_00;
          puVar18 = puVar13;
          if (puVar13 < end_00) {
            iVar25 = 4;
LAB_00148b35:
            uVar14 = (*byte_get)(puVar30,iVar25);
            uVar20 = 4;
            iVar25 = 4;
            if (uVar14 == 0xffffffff) {
              puVar18 = puVar30 + 0xc;
              if (puVar18 < end_00) {
                iVar25 = 8;
              }
              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {
                uVar19 = 0xc;
                iVar25 = 8;
                goto LAB_00148941;
              }
              uVar14 = (*byte_get)(puVar13,iVar25);
              uVar20 = 0xc;
              iVar25 = 8;
            }
            uVar19 = uVar20 + uVar14;
            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;
          }
          else {
            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)
               ) goto LAB_00148b35;
            uVar19 = 4;
            iVar25 = 4;
          }
LAB_00148941:
          if (uVar19 <= DAT_001912b0) {
            if (puVar18 + 2 < end_00) {
              iVar23 = 2;
            }
            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))
            goto LAB_0014879b;
            eVar9 = (*byte_get)(puVar18,iVar23);
            if ((int)eVar9 - 2U < 3) {
              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;
              puVar13 = puVar18 + lVar17 + 3;
              if (puVar18 + lVar17 + 4 < end_00) {
                iVar24 = 1;
              }
              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))
              goto LAB_0014879b;
              eVar9 = (*byte_get)(puVar13,iVar24);
              if ((int)eVar9 != 0) {
                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);
                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {
                  if (*puVar13 == '\0') {
                    puVar30 = puVar13 + 1;
                    if (puVar30 < end_00) {
                      uVar4 = puVar13[1];
                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;
                      goto LAB_00148d9d;
                    }
                    break;
                  }
                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);
                }
              }
            }
          }
        }
      }
      goto LAB_0014879b;
    case 4:
      pcVar7 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);
      printf(pcVar7);
      break;
    case 5:
      dVar11 = read_leb128(puVar13,&bytes_read,0,end);
      puVar13 = puVar13 + bytes_read;
      puVar29 = puVar13 + uVar28;
      uVar5 = uVar28;
      if ((puVar29 < end) ||
         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {
        eVar9 = (*byte_get)(puVar13,uVar5);
      }
      puVar30 = fetch_indirect_string(eVar9);
      pcVar7 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";
      goto LAB_0014857d;
    case 6:
      dVar11 = read_leb128(puVar13,&bytes_read,0,end);
      puVar13 = puVar13 + bytes_read;
      puVar29 = puVar13 + uVar28;
      uVar5 = uVar28;
      if ((puVar29 < end) ||
         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {
        eVar9 = (*byte_get)(puVar13,uVar5);
      }
      puVar30 = fetch_indirect_string(eVar9);
      pcVar7 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";
      goto LAB_0014857d;
    case 7:
      puVar29 = puVar13 + uVar28;
      uVar5 = uVar28;
      if ((puVar29 < end) ||
         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {
        eVar9 = (*byte_get)(puVar13,uVar5);
      }
      pcVar7 = " DW_MACRO_import - offset : 0x%lx\n";
      goto LAB_001484c9;
    case 8:
      dVar11 = read_leb128(puVar13,&bytes_read,0,end);
      puVar13 = puVar13 + bytes_read;
      puVar29 = puVar13 + uVar28;
      uVar5 = uVar28;
      if ((puVar29 < end) ||
         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))
      {
        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);
      }
      pcVar7 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";
      goto LAB_0014857d;
    case 9:
      dVar11 = read_leb128(puVar13,&bytes_read,0,end);
      puVar13 = puVar13 + bytes_read;
      puVar29 = puVar13 + uVar28;
      uVar5 = uVar28;
      if ((puVar29 < end) ||
         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))
      {
        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);
      }
      pcVar7 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";
LAB_0014857d:
      pcVar7 = (char *)dcgettext(0,pcVar7,5);
      printf(pcVar7,dVar11 & 0xffffffff,puVar30);
      break;
    case 10:
      puVar29 = puVar13 + uVar28;
      uVar5 = uVar28;
      if ((puVar29 < end) ||
         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {
        eVar9 = (*byte_get)(puVar13,uVar5);
      }
      pcVar7 = " DW_MACRO_import_sup - offset : 0x%lx\n";
LAB_001484c9:
      pcVar7 = (char *)dcgettext(0,pcVar7,5);
      printf(pcVar7,eVar9);
    }
    goto LAB_001484e0;
  }
  goto LAB_0014818e;
  while ((uVar4 = *puVar30, uVar4 != '\0' && (uVar12 != 1))) {
LAB_00148d9d:
    uVar12 = uVar12 - 1;
    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);
    puVar30 = puVar30 + sVar15 + 1;
    puVar27 = &bytes_read_1;
    read_leb128(puVar30,&bytes_read_1,0,end_00);
    puVar30 = puVar30 + bytes_read_1;
    read_leb128(puVar30,puVar27,0,end_00);
    uVar14 = (ulong)bytes_read_1;
    read_leb128(puVar30 + uVar14,puVar27,0,end_00);
    puVar30 = puVar30 + uVar14 + bytes_read_1;
    if (end_00 <= puVar30) goto LAB_0014879b;
  }
LAB_00148eec:
  if (uVar4 != '\0') {
    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);
    if (puVar30 + sVar15 + 1 < end_00) {
      dVar16 = read_leb128(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00);
      if (dVar16 == 0) {
        local_890 = "";
        puVar22 = &DAT_00169c35;
LAB_00148fc0:
        pcVar7 = (char *)dcgettext(0,
                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"
                                   ,5);
        printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22);
        goto LAB_001484e0;
      }
      do {
        if ((*local_890 == '\0') || (dVar16 < 2)) {
          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))
          goto LAB_00148fc0;
          break;
        }
        dVar16 = dVar16 - 1;
        sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890);
        local_890 = local_890 + sVar15 + 1;
      } while (local_890 < end_00);
    }
  }
LAB_0014879b:
  pcVar7 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);
  printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff);
LAB_001484e0:
  if (end <= puVar29) goto LAB_0014818e;
  puVar13 = puVar29 + 1;
  if (end <= puVar13) goto LAB_00148430;
LAB_001484f6:
  uVar12 = (*byte_get)(puVar29,1);
  if ((int)uVar12 == 0) {
    putchar(10);
    goto LAB_0014807f;
  }
  goto LAB_00148456;
}



undefined8 FUN_00148020(long param_1,undefined8 param_2)

{
  uint uVar1;
  char *pcVar2;
  int iVar3;
  char cVar4;
  uint uVar5;
  uint uVar6;
  int iVar7;
  uint uVar8;
  int iVar9;
  undefined8 uVar10;
  undefined8 uVar11;
  ulong uVar12;
  char *pcVar13;
  ulong *puVar14;
  ulong uVar15;
  ulong uVar16;
  size_t sVar17;
  char *pcVar18;
  ulong uVar19;
  ulong uVar20;
  char *pcVar21;
  char *pcVar22;
  undefined1 *puVar23;
  long lVar24;
  char *pcVar25;
  ulong uVar26;
  long lVar27;
  long lVar28;
  uint uVar29;
  ulong uVar30;
  char *pcVar31;
  byte bVar32;
  char *local_890;
  ulong local_878;
  ulong *local_868;
  uint local_840;
  uint local_83c;
  ulong local_838 [257];
  
  bVar32 = 0;
  pcVar2 = *(char **)(param_1 + 0x20);
  pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);
  FUN_0013e500(10);
  FUN_0013e500(4,param_2);
  FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);
  pcVar25 = pcVar2;
  if (pcVar21 <= pcVar2) {
    return 1;
  }
LAB_0014807f:
  pcVar13 = pcVar25 + 2;
  if (pcVar13 < pcVar21) {
    lVar24 = 2;
  }
  else {
    lVar24 = (long)pcVar21 - (long)pcVar25;
    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;
  }
  uVar5 = (*DAT_00196f88)(pcVar25,lVar24);
  if (1 < uVar5 - 4) {
LAB_0014809e:
    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";
    uVar11 = *(undefined8 *)(param_1 + 0x10);
LAB_001480b3:
    uVar10 = dcgettext(0,pcVar25,5);
    error(uVar10,uVar11);
    return 0;
  }
  pcVar31 = pcVar25 + 3;
  if (pcVar21 <= pcVar31) {
    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))
    goto LAB_001481bd;
    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);
    printf(pcVar21,(long)pcVar25 - (long)pcVar2);
    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);
    printf(pcVar25,(ulong)uVar5);
    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);
    printf(pcVar25,4);
    goto LAB_00148184;
  }
  lVar24 = 1;
LAB_001481bd:
  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);
  uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;
  pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);
  printf(pcVar13,(long)pcVar25 - (long)pcVar2);
  pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);
  printf(pcVar25,(ulong)uVar5);
  pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);
  printf(pcVar25,(ulong)uVar29);
  iVar3 = (int)pcVar21;
  if ((uVar12 & 2) == 0) {
    local_878 = 0;
  }
  else {
    uVar6 = uVar29;
    if ((pcVar31 + uVar29 < pcVar21) ||
       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {
      local_878 = (*DAT_00196f88)(pcVar31,uVar6);
    }
    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);
    printf(pcVar25,local_878);
    pcVar31 = pcVar31 + uVar29;
  }
  if ((uVar12 & 4) == 0) {
    local_868 = (ulong *)0x0;
    pcVar13 = pcVar31;
  }
  else {
    pcVar13 = pcVar31 + 1;
    if (pcVar21 <= pcVar13) {
      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {
        uVar6 = (*DAT_00196f88)(pcVar31);
        puVar14 = local_838;
        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {
          *puVar14 = 0;
          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;
        }
        if (uVar6 != 0) goto LAB_001482f8;
      }
LAB_00148184:
      putchar(10);
LAB_0014818e:
      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);
      error(uVar11);
      return 0;
    }
    local_868 = local_838;
    uVar6 = (*DAT_00196f88)(pcVar31,1);
    puVar14 = local_868;
    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {
      *puVar14 = 0;
      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;
    }
    if (uVar6 == 0) {
      putchar(10);
      goto LAB_0014840e;
    }
LAB_001482f8:
    local_868 = local_838;
    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);
    printf(pcVar25);
    uVar1 = 0;
    do {
      pcVar25 = pcVar13 + 1;
      if (pcVar25 < pcVar21) {
        lVar24 = 1;
LAB_00148b15:
        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);
        uVar26 = (ulong)uVar8;
        puVar14 = local_868 + uVar8;
      }
      else {
        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))
        goto LAB_00148b15;
        uVar26 = 0;
        puVar14 = local_868;
      }
      *puVar14 = (ulong)pcVar25;
      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar13 = pcVar25 + local_840;
      if (lVar24 == 0) {
        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);
        printf(pcVar25,uVar26);
      }
      else {
        lVar27 = 0;
        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);
        printf(pcVar25,uVar26);
        pcVar25 = pcVar13;
        do {
          pcVar13 = pcVar25 + 1;
          if (pcVar21 <= pcVar13) {
            if ((pcVar25 < pcVar21) &&
               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;
            if (lVar27 == lVar24 + -1) {
              uVar11 = FUN_0013eaf0(0);
              pcVar25 = "\n";
            }
            else {
              uVar11 = FUN_0013eaf0(0);
              pcVar25 = ", ";
            }
            uVar8 = 0;
            printf("%s%s",uVar11,pcVar25);
LAB_00148bf3:
            uVar11 = FUN_0013eaf0(uVar8);
            pcVar25 = "Invalid extension opcode form %s\n";
            goto LAB_001480b3;
          }
          lVar28 = 1;
LAB_00148c15:
          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);
          pcVar25 = ", ";
          if (lVar24 + -1 == lVar27) {
            pcVar25 = "\n";
          }
          uVar11 = FUN_0013eaf0(uVar8);
          printf("%s%s",uVar11,pcVar25);
          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;
          lVar27 = lVar27 + 1;
          pcVar25 = pcVar13;
        } while (lVar27 != lVar24);
      }
      uVar1 = uVar1 + 1;
    } while (uVar1 < uVar6);
  }
  putchar(10);
  if (pcVar13 < pcVar21) {
LAB_0014840e:
    pcVar25 = pcVar13 + 1;
    if (pcVar25 < pcVar21) goto LAB_001484f6;
LAB_00148430:
    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {
      putchar(10);
      return 1;
    }
LAB_00148456:
    uVar26 = (ulong)uVar6;
    pcVar13 = pcVar25;
    switch(uVar26) {
    default:
      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {
        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);
        error(uVar11,uVar26);
        return 0;
      }
      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);
      if (lVar24 == 0) {
        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);
        printf(pcVar25,uVar26);
      }
      else {
        pcVar31 = (char *)(uVar15 + local_840);
        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);
        printf(pcVar13,uVar26);
        pcVar13 = pcVar31;
        do {
          pcVar18 = pcVar13 + 1;
          if (pcVar18 < pcVar21) {
            uVar26 = 1;
LAB_00148aea:
            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);
            lVar27 = (long)iVar7;
          }
          else {
            lVar27 = 0;
            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {
              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;
              goto LAB_00148aea;
            }
          }
          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);
          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {
            putchar(0x2c);
          }
          pcVar13 = pcVar18;
        } while (pcVar18 != pcVar31 + lVar24);
        putchar(10);
        pcVar13 = pcVar25;
      }
      break;
    case 1:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar25 = pcVar25 + local_840;
      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);
      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";
      pcVar13 = pcVar25 + sVar17 + 1;
      goto LAB_00148802;
    case 2:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar25 = pcVar25 + local_840;
      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);
      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";
      pcVar13 = pcVar25 + sVar17 + 1;
LAB_00148802:
      pcVar31 = (char *)dcgettext(0,pcVar31,5);
      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);
      break;
    case 3:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      uVar30 = (ulong)local_840;
      uVar15 = FUN_0013fb20(pcVar25 + uVar30);
      pcVar13 = pcVar25 + uVar30 + local_840;
      if ((uVar12 & 2) == 0) {
        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);
        error(uVar11);
      }
      else {
        uVar30 = uVar15 & 0xffffffff;
        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {
          pcVar31 = (char *)(DAT_001912a0 + local_878);
          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);
          pcVar25 = pcVar31 + 4;
          pcVar18 = pcVar25;
          if (pcVar25 < pcVar22) {
            lVar24 = 4;
LAB_00148b35:
            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);
            uVar20 = 4;
            iVar7 = 4;
            if (uVar16 == 0xffffffff) {
              pcVar18 = pcVar31 + 0xc;
              if (pcVar18 < pcVar22) {
                lVar24 = 8;
              }
              else if ((pcVar22 <= pcVar25) ||
                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {
                uVar19 = 0xc;
                iVar7 = 8;
                goto LAB_00148941;
              }
              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);
              uVar20 = 0xc;
              iVar7 = 8;
            }
            uVar19 = uVar20 + uVar16;
            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;
          }
          else {
            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))
            goto LAB_00148b35;
            uVar19 = 4;
            iVar7 = 4;
          }
LAB_00148941:
          if (uVar19 <= DAT_001912b0) {
            if (pcVar18 + 2 < pcVar22) {
              lVar24 = 2;
            }
            else if ((pcVar22 <= pcVar18) ||
                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))
            goto LAB_0014879b;
            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);
            if (iVar9 - 2U < 3) {
              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;
              pcVar25 = pcVar18 + lVar24 + 3;
              if (pcVar18 + lVar24 + 4 < pcVar22) {
                lVar27 = 1;
              }
              else if ((pcVar22 <= pcVar25) ||
                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))
              goto LAB_0014879b;
              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);
              if (iVar7 != 0) {
                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);
                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {
                  if (*pcVar25 == '\0') {
                    pcVar31 = pcVar25 + 1;
                    if (pcVar31 < pcVar22) {
                      cVar4 = pcVar25[1];
                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;
                      goto LAB_00148d9d;
                    }
                    break;
                  }
                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);
                }
              }
            }
          }
        }
      }
      goto LAB_0014879b;
    case 4:
      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);
      printf(pcVar25);
      break;
    case 5:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar25 = pcVar25 + local_840;
      pcVar13 = pcVar25 + uVar29;
      uVar6 = uVar29;
      if ((pcVar13 < pcVar21) ||
         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {
        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);
      }
      uVar11 = FUN_0013e880(uVar11);
      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";
      goto LAB_0014857d;
    case 6:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar25 = pcVar25 + local_840;
      pcVar13 = pcVar25 + uVar29;
      uVar6 = uVar29;
      if ((pcVar13 < pcVar21) ||
         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {
        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);
      }
      uVar11 = FUN_0013e880(uVar11);
      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";
      goto LAB_0014857d;
    case 7:
      pcVar13 = pcVar25 + uVar29;
      uVar6 = uVar29;
      if ((pcVar13 < pcVar21) ||
         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {
        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);
      }
      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";
      goto LAB_001484c9;
    case 8:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar25 = pcVar25 + local_840;
      pcVar13 = pcVar25 + uVar29;
      uVar6 = uVar29;
      if ((pcVar13 < pcVar21) ||
         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {
        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);
      }
      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";
      goto LAB_0014857d;
    case 9:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar25 = pcVar25 + local_840;
      pcVar13 = pcVar25 + uVar29;
      uVar6 = uVar29;
      if ((pcVar13 < pcVar21) ||
         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {
        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);
      }
      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";
LAB_0014857d:
      pcVar25 = (char *)dcgettext(0,pcVar25,5);
      printf(pcVar25,uVar26 & 0xffffffff,uVar11);
      break;
    case 10:
      pcVar13 = pcVar25 + uVar29;
      uVar6 = uVar29;
      if ((pcVar13 < pcVar21) ||
         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {
        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);
      }
      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";
LAB_001484c9:
      pcVar25 = (char *)dcgettext(0,pcVar25,5);
      printf(pcVar25,uVar11);
    }
    goto LAB_001484e0;
  }
  goto LAB_0014818e;
  while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {
LAB_00148d9d:
    uVar30 = uVar30 - 1;
    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);
    pcVar31 = pcVar31 + sVar17 + 1;
    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);
    pcVar31 = pcVar31 + local_83c;
    FUN_0013fb20(pcVar31);
    uVar16 = (ulong)local_83c;
    FUN_0013fb20(pcVar31 + uVar16);
    pcVar31 = pcVar31 + uVar16 + local_83c;
    if (pcVar22 <= pcVar31) goto LAB_0014879b;
  }
LAB_00148eec:
  if (cVar4 != '\0') {
    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);
    if (pcVar31 + sVar17 + 1 < pcVar22) {
      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);
      if (uVar30 == 0) {
        local_890 = "";
        puVar23 = &DAT_00169c35;
LAB_00148fc0:
        pcVar25 = (char *)dcgettext(0,
                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"
                                    ,5);
        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);
        goto LAB_001484e0;
      }
      do {
        if ((*local_890 == '\0') || (uVar30 < 2)) {
          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))
          goto LAB_00148fc0;
          break;
        }
        uVar30 = uVar30 - 1;
        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);
        local_890 = local_890 + sVar17 + 1;
      } while (local_890 < pcVar22);
    }
  }
LAB_0014879b:
  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);
  printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);
LAB_001484e0:
  if (pcVar21 <= pcVar13) goto LAB_0014818e;
  pcVar25 = pcVar13 + 1;
  if (pcVar21 <= pcVar25) goto LAB_00148430;
LAB_001484f6:
  uVar6 = (*DAT_00196f88)(pcVar13,1);
  if (uVar6 == 0) {
    putchar(10);
    goto LAB_0014807f;
  }
  goto LAB_00148456;
}


PUSH R15
PUSH R14
MOV R14,RDI
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
MOV RBX,RSI
SUB RSP,0x878
MOV R15,qword ptr [RDI + 0x20]
MOV RBP,qword ptr [RDI + 0x30]
MOV qword ptr [RSP + 0x48],RDI
MOV EDI,0xa
MOV qword ptr [RSP + 0x38],R15
ADD RBP,R15
CALL 0x0013e500
MOV RSI,RBX
MOV EDI,0x4
CALL 0x0013e500
MOV RDI,qword ptr [R14 + 0x10]
LEA RSI,[R14 + 0x18]
CALL 0x0013ed70
CMP R15,RBP
JNC 0x0014900a
MOV R14,R15
MOV R15,RBP
LEA RBP,[R14 + 0x2]
MOV RBX,R14
SUB RBX,qword ptr [RSP + 0x38]
CMP RBP,R15
JC 0x001480e0
MOV RSI,R15
SUB RSI,R14
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x001480e5
MOV RAX,qword ptr [RSP + 0x48]
MOV EDX,0x5
LEA RSI,[0x17e648]
MOV RBX,qword ptr [RAX + 0x10]
XOR EDI,EDI
CALL 0x00107130
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00154b80
XOR EAX,EAX
ADD RSP,0x878
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV ESI,0x2
MOV RDI,R14
CALL qword ptr [0x00196f88]
MOV qword ptr [RSP + 0x20],RAX
MOV R12D,EAX
SUB EAX,0x4
CMP EAX,0x1
JA 0x0014809e
ADD R14,0x3
CMP R14,R15
JC 0x001481b8
CMP RBP,R15
JNC 0x00148122
MOV RSI,R15
SUB RSI,RBP
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x001481bd
MOV EDX,0x5
LEA RSI,[0x17e690]
XOR EDI,EDI
CALL 0x00107130
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV EDX,0x5
LEA RSI,[0x17e6b8]
XOR EDI,EDI
CALL 0x00107130
MOV ESI,R12D
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
LEA RSI,[0x17e6e0]
XOR EDI,EDI
MOV EDX,0x5
CALL 0x00107130
MOV ESI,0x4
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV EDI,0xa
CALL 0x00107040
MOV EDX,0x5
LEA RSI,[0x17e7a0]
XOR EDI,EDI
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00154b80
XOR EAX,EAX
JMP 0x001480c9
MOV ESI,0x1
MOV RDI,RBP
CALL qword ptr [0x00196f88]
MOV EDX,0x5
LEA RSI,[0x17e690]
MOV RBP,RAX
AND EAX,0x1
CMP EAX,0x1
SBB R12D,R12D
XOR EDI,EDI
AND R12D,0xfffffffc
ADD R12D,0x8
MOV dword ptr [RSP + 0x28],R12D
CALL 0x00107130
MOV RSI,RBX
MOV EBX,EBP
MOV RDI,RAX
XOR EAX,EAX
AND EBX,0x4
CALL 0x00107190
MOV EDX,0x5
XOR EDI,EDI
LEA RSI,[0x17e6b8]
CALL 0x00107130
MOV ESI,dword ptr [RSP + 0x20]
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x17e6e0]
CALL 0x00107130
MOV ESI,R12D
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV EAX,EBP
AND EAX,0x2
MOV dword ptr [RSP + 0x2c],EAX
JZ 0x00149048
MOV EBP,R12D
ADD RBP,R14
CMP RBP,R15
JC 0x00148470
MOV qword ptr [RSP + 0x30],0x0
CMP R14,R15
JC 0x001488bf
LEA RSI,[0x17e708]
XOR EDI,EDI
MOV EDX,0x5
CALL 0x00107130
MOV RSI,qword ptr [RSP + 0x30]
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
TEST EBX,EBX
JZ 0x00148e8e
LEA R13,[RBP + 0x1]
CMP R13,R15
JC 0x001483d0
CMP RBP,R15
JNC 0x00148184
MOV RSI,R15
SUB RSI,RBP
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JA 0x00148184
MOV RDI,RBP
LEA RBX,[RSP + 0x70]
CALL qword ptr [0x00196f88]
MOV ECX,0x100
MOV RDI,RBX
MOV RDX,RAX
MOV dword ptr [RSP + 0x40],EAX
XOR EAX,EAX
STOSQ.REP RDI
TEST EDX,EDX
JZ 0x00148184
NOP dword ptr [RAX]
MOV EDX,0x5
LEA RSI,[0x17e730]
XOR EDI,EDI
MOV R12,R13
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
LEA RAX,[RSP + 0x68]
MOV qword ptr [RSP + 0x50],RBX
MOV dword ptr [RSP + 0x8],0x0
MOV qword ptr [RSP + 0x58],RAX
LEA RBP,[R12 + 0x1]
CMP RBP,R15
JC 0x00148b10
CMP R15,R12
JBE 0x00148354
MOV RSI,R15
SUB RSI,R12
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x00148b15
MOV RAX,qword ptr [RSP + 0x50]
XOR EBX,EBX
MOV qword ptr [RAX],RBP
MOV RSI,qword ptr [RSP + 0x58]
XOR EDX,EDX
MOV RCX,R15
MOV RDI,RBP
CALL 0x0013fb20
MOV R12D,dword ptr [RSP + 0x68]
MOV EDX,0x5
MOV R13,RAX
ADD R12,RBP
TEST RAX,RAX
JNZ 0x00148b76
LEA RSI,[0x17e750]
XOR EDI,EDI
CALL 0x00107130
MOV ESI,EBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
ADD dword ptr [RSP + 0x8],0x1
MOV EAX,dword ptr [RSP + 0x8]
CMP EAX,dword ptr [RSP + 0x40]
JC 0x0014832f
MOV RBX,qword ptr [RSP + 0x50]
MOV R13,R12
MOV qword ptr [RSP + 0x40],RBX
JMP 0x00148e9a
MOV RDI,RBP
MOV ESI,0x1
LEA RBX,[RSP + 0x70]
CALL qword ptr [0x00196f88]
MOV ECX,0x100
MOV RDI,RBX
MOV RDX,RAX
MOV dword ptr [RSP + 0x40],EAX
XOR EAX,EAX
STOSQ.REP RDI
TEST EDX,EDX
JNZ 0x001482f8
MOV EDI,0xa
CALL 0x00107040
MOV qword ptr [RSP + 0x40],RBX
LEA RAX,[RSP + 0x68]
LEA RBX,[R13 + 0x1]
MOV qword ptr [RSP],RAX
LEA R12,[0x183308]
CMP RBX,R15
JC 0x001484f6
NOP dword ptr [RAX + RAX*0x1]
MOV RSI,R15
SUB RSI,R13
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JA 0x00149000
MOV RDI,R13
CALL qword ptr [0x00196f88]
MOV R13D,EAX
TEST EAX,EAX
JZ 0x00149000
CMP R13D,0xa
JA 0x00148860
MOV EDX,R13D
MOVSXD RDX,dword ptr [R12 + RDX*0x4]
ADD RDX,R12
JMP RDX
MOV ESI,dword ptr [RSP + 0x28]
MOV RDI,R14
CALL qword ptr [0x00196f88]
MOV qword ptr [RSP + 0x30],RAX
JMP 0x00148275
MOV R10D,dword ptr [RSP + 0x28]
LEA R13,[RBX + R10*0x1]
CMP R13,R15
JC 0x001489b0
XOR EBP,EBP
CMP RBX,R15
JNC 0x001484bd
MOV RAX,R15
SUB RAX,RBX
MOV ESI,EAX
SUB EAX,0x1
CMP EAX,0x7
JBE 0x001489b4
MOV EDX,0x5
LEA RSI,[0x17e9e0]
XOR EDI,EDI
CALL 0x00107130
MOV RSI,RBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
NOP dword ptr [RAX]
CMP R15,R13
JBE 0x0014818e
LEA RBX,[R13 + 0x1]
CMP RBX,R15
JNC 0x00148430
MOV RDI,R13
MOV ESI,0x1
CALL qword ptr [0x00196f88]
MOV R13D,EAX
TEST EAX,EAX
JNZ 0x00148456
MOV EDI,0xa
MOV R14,RBX
CALL 0x00107040
JMP 0x0014807f
MOV RSI,qword ptr [RSP]
MOV RDI,RBX
MOV RCX,R15
XOR EDX,EDX
CALL 0x0013fb20
MOV EDI,dword ptr [RSP + 0x68]
MOV R10D,dword ptr [RSP + 0x28]
MOV RBP,RAX
ADD RDI,RBX
LEA R13,[RDI + R10*0x1]
CMP R13,R15
JC 0x00148998
XOR R14D,R14D
CMP R15,RDI
JBE 0x00148571
MOV RAX,R15
SUB RAX,RDI
MOV ESI,EAX
SUB EAX,0x1
CMP EAX,0x7
JBE 0x0014899c
MOV EDX,0x5
LEA RSI,[0x17e9a8]
XOR EDI,EDI
CALL 0x00107130
MOV RDX,R14
MOV ESI,EBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
JMP 0x001484e0
MOV RSI,qword ptr [RSP]
MOV RDI,RBX
MOV RCX,R15
XOR EDX,EDX
CALL 0x0013fb20
MOV EDI,dword ptr [RSP + 0x68]
MOV R10D,dword ptr [RSP + 0x28]
MOV RBP,RAX
ADD RDI,RBX
LEA R13,[RDI + R10*0x1]
CMP R13,R15
JC 0x001489e0
XOR R14D,R14D
CMP R15,RDI
JBE 0x001485e9
MOV RAX,R15
SUB RAX,RDI
MOV ESI,EAX
SUB EAX,0x1
CMP EAX,0x7
JBE 0x001489e4
MOV EDX,0x5
LEA RSI,[0x17e968]
JMP 0x0014857d
MOV RSI,qword ptr [RSP]
MOV RDI,RBX
MOV RCX,R15
XOR EDX,EDX
CALL 0x0013fb20
MOV EDI,dword ptr [RSP + 0x68]
MOV R10D,dword ptr [RSP + 0x28]
MOV RBP,RAX
ADD RBX,RDI
LEA R13,[RBX + R10*0x1]
CMP R13,R15
JC 0x001489f8
XOR EDI,EDI
CMP R15,RBX
JBE 0x00148648
MOV RAX,R15
SUB RAX,RBX
MOV ESI,EAX
SUB EAX,0x1
CMP EAX,0x7
JBE 0x001489fc
CALL 0x0013e880
MOV EDX,0x5
LEA RSI,[0x17e910]
MOV R14,RAX
JMP 0x0014857d
MOV RSI,qword ptr [RSP]
MOV RDI,RBX
MOV RCX,R15
XOR EDX,EDX
CALL 0x0013fb20
MOV EDI,dword ptr [RSP + 0x68]
MOV R10D,dword ptr [RSP + 0x28]
MOV RBP,RAX
ADD RBX,RDI
LEA R13,[RBX + R10*0x1]
CMP R13,R15
JC 0x001489c8
XOR EDI,EDI
CMP R15,RBX
JBE 0x001486b0
MOV RAX,R15
SUB RAX,RBX
MOV ESI,EAX
SUB EAX,0x1
CMP EAX,0x7
JBE 0x001489cc
CALL 0x0013e880
MOV EDX,0x5
LEA RSI,[0x17e8e0]
MOV R14,RAX
JMP 0x0014857d
MOV R10D,dword ptr [RSP + 0x28]
LEA R13,[RBX + R10*0x1]
CMP R13,R15
JC 0x00148980
XOR EBP,EBP
CMP RBX,R15
JNC 0x001486fd
MOV RAX,R15
SUB RAX,RBX
MOV ESI,EAX
SUB EAX,0x1
CMP EAX,0x7
JBE 0x00148984
MOV EDX,0x5
LEA RSI,[0x17e940]
JMP 0x001484c9
MOV EDX,0x5
LEA RSI,[0x181a5c]
XOR EDI,EDI
MOV R13,RBX
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
JMP 0x001484e0
MOV R14,qword ptr [RSP]
MOV RDI,RBX
MOV RCX,R15
XOR EDX,EDX
MOV RSI,R14
CALL 0x0013fb20
MOV R10D,dword ptr [RSP + 0x68]
MOV RCX,R15
XOR EDX,EDX
MOV qword ptr [RSP + 0x8],RAX
LEA R13,[RBX + R10*0x1]
MOV RDI,R13
CALL 0x0013fb20
MOV R10D,dword ptr [RSP + 0x68]
MOV RBX,RAX
MOV EAX,dword ptr [RSP + 0x2c]
ADD R13,R10
TEST EAX,EAX
JNZ 0x001488e0
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x17e7d0]
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00154b80
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x17e810]
CALL 0x00107130
MOV ESI,dword ptr [RSP + 0x8]
MOV EDX,EBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
JMP 0x001484e0
MOV RSI,qword ptr [RSP]
XOR EDX,EDX
MOV RDI,RBX
MOV RCX,R15
CALL 0x0013fb20
MOV EDI,dword ptr [RSP + 0x68]
MOV RSI,R15
MOV RBP,RAX
ADD RBX,RDI
SUB RSI,RBX
MOV RDI,RBX
CALL 0x00107210
MOV EDX,0x5
LEA RSI,[0x17e8b0]
LEA R13,[RBX + RAX*0x1 + 0x1]
XOR EDI,EDI
CALL 0x00107130
MOV RDX,RBX
MOV ESI,EBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
JMP 0x001484e0
MOV RSI,qword ptr [RSP]
XOR EDX,EDX
MOV RDI,RBX
MOV RCX,R15
CALL 0x0013fb20
MOV EDI,dword ptr [RSP + 0x68]
MOV RSI,R15
MOV RBP,RAX
ADD RBX,RDI
SUB RSI,RBX
MOV RDI,RBX
CALL 0x00107210
MOV EDX,0x5
LEA RSI,[0x17e880]
LEA R13,[RBX + RAX*0x1 + 0x1]
JMP 0x00148802
MOV RCX,qword ptr [RSP + 0x40]
TEST RCX,RCX
JZ 0x00148eb8
MOV EAX,EAX
MOV RBP,qword ptr [RCX + RAX*0x8]
TEST RBP,RBP
JZ 0x00148eb8
MOV RSI,qword ptr [RSP]
XOR EDX,EDX
MOV RCX,R15
MOV RDI,RBP
CALL 0x0013fb20
TEST RAX,RAX
JNZ 0x00148a10
MOV EDX,0x5
LEA RSI,[0x181a70]
XOR EDI,EDI
CALL 0x00107130
MOV ESI,R13D
MOV R13,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
JMP 0x001484e0
MOV RAX,R15
SUB RAX,R14
MOV ESI,EAX
SUB EAX,0x1
CMP EAX,0x7
JA 0x00148275
JMP 0x00148474
MOV RBP,qword ptr [0x001912a0]
MOV EAX,EBX
MOV RCX,RAX
MOV qword ptr [RSP + 0x10],RAX
TEST RBP,RBP
JZ 0x0014879b
MOV RAX,qword ptr [0x001912b0]
MOV RDX,qword ptr [RSP + 0x30]
CMP RDX,RAX
JNC 0x0014879b
TEST RCX,RCX
JZ 0x0014879b
LEA RCX,[RBP + RDX*0x1]
ADD RBP,RAX
LEA R14,[RCX + 0x4]
CMP RBP,R14
JA 0x00148b30
CMP RCX,RBP
JC 0x00148e30
MOV EDX,0x4
MOV R8D,0x4
CMP RAX,RDX
JC 0x0014879b
LEA RAX,[R14 + 0x2]
CMP RBP,RAX
JA 0x00148ca8
CMP RBP,R14
JBE 0x0014879b
MOV RSI,RBP
SUB RSI,R14
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JA 0x0014879b
JMP 0x00148cad
MOV ESI,dword ptr [RSP + 0x28]
MOV RDI,RBX
CALL qword ptr [0x00196f88]
MOV RBP,RAX
JMP 0x001486fd
MOV ESI,dword ptr [RSP + 0x28]
CALL qword ptr [0x00196f88]
MOV R14,RAX
JMP 0x00148571
MOV ESI,dword ptr [RSP + 0x28]
MOV RDI,RBX
CALL qword ptr [0x00196f88]
MOV RBP,RAX
JMP 0x001484bd
MOV ESI,dword ptr [RSP + 0x28]
MOV RDI,RBX
CALL qword ptr [0x00196f88]
MOV RDI,RAX
JMP 0x001486b0
MOV ESI,dword ptr [RSP + 0x28]
CALL qword ptr [0x00196f88]
MOV R14,RAX
JMP 0x001485e9
MOV ESI,dword ptr [RSP + 0x28]
MOV RDI,RBX
CALL qword ptr [0x00196f88]
MOV RDI,RAX
JMP 0x00148648
MOV EDI,dword ptr [RSP + 0x68]
MOV EDX,0x5
MOV qword ptr [RSP + 0x10],RAX
LEA RSI,[0x181a80]
ADD RBP,RDI
XOR EDI,EDI
CALL 0x00107130
MOV ESI,R13D
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV RCX,qword ptr [RSP + 0x10]
MOV EAX,dword ptr [RSP + 0x20]
MOV RDI,RBP
MOV R14D,dword ptr [RSP + 0x28]
MOV dword ptr [RSP + 0x8],EAX
LEA RAX,[RCX + -0x1]
MOV qword ptr [RSP + 0x10],RAX
LEA RAX,[RBP + RCX*0x1]
NOT RBP
MOV qword ptr [RSP + 0x18],RAX
MOV RAX,RBP
MOV RBP,RBX
MOV R13,RAX
JMP 0x00148adc
XOR ESI,ESI
CMP R15,RDI
JBE 0x00148a91
MOV RAX,R15
SUB RAX,RDI
LEA EDX,[RAX + -0x1]
CMP EDX,0x7
JBE 0x00149041
PUSH 0x20
MOV RCX,RBP
XOR R9D,R9D
MOV R8,R15
PUSH 0x0
XOR EDX,EDX
XOR EDI,EDI
PUSH 0x0
PUSH 0x0
PUSH 0x0
MOV EAX,dword ptr [RSP + 0x30]
PUSH RAX
PUSH R14
PUSH 0x0
CALL 0x00142840
ADD RSP,0x40
MOV RBP,RAX
LEA RAX,[RBX + R13*0x1]
CMP qword ptr [RSP + 0x10],RAX
JZ 0x00148ad2
MOV EDI,0x2c
CALL 0x00107040
MOV RDI,RBX
CMP RBX,qword ptr [RSP + 0x18]
JZ 0x00148af8
LEA RBX,[RDI + 0x1]
CMP RBX,R15
JNC 0x00148a78
MOV ESI,0x1
CALL qword ptr [0x00196f88]
MOVSXD RSI,EAX
JMP 0x00148a91
MOV EDI,0xa
MOV R13,RBP
CALL 0x00107040
JMP 0x001484e0
MOV ESI,0x1
MOV RDI,R12
CALL qword ptr [0x00196f88]
MOV RCX,qword ptr [RSP + 0x50]
MOV EBX,EAX
MOV EAX,EAX
LEA RAX,[RCX + RAX*0x8]
JMP 0x0014835b
MOV ESI,0x4
MOV RDI,RCX
MOV qword ptr [RSP + 0x18],RCX
CALL qword ptr [0x00196f88]
MOV ECX,0xffffffff
MOV EDX,0x4
MOV R8D,0x4
CMP RAX,RCX
MOV RCX,qword ptr [RSP + 0x18]
JZ 0x00148e50
ADD RDX,RAX
MOV RAX,qword ptr [0x001912b0]
JNC 0x00148941
JMP 0x0014879b
LEA RSI,[0x181a3e]
XOR EDI,EDI
XOR EBP,EBP
CALL 0x00107130
MOV ESI,EBX
MOV EBX,0x1
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
LEA RAX,[R13 + -0x1]
MOV RDI,R12
MOV R12,R15
MOV qword ptr [RSP],RAX
NOP dword ptr [RAX]
LEA R14,[RDI + 0x1]
CMP R14,R12
JC 0x00148c10
CMP R12,RDI
JBE 0x00148bc4
MOV RSI,R12
SUB RSI,RDI
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x00148c15
MOV R13,qword ptr [RSP]
CMP RBP,R13
JZ 0x00148c95
XOR EDI,EDI
CALL 0x0013eaf0
LEA RDX,[0x16a48c]
MOV RSI,RAX
LEA RDI,[0x163f55]
XOR EAX,EAX
XOR R15D,R15D
CALL 0x00107190
MOV RDI,R15
CALL 0x0013eaf0
MOV EDX,0x5
LEA RSI,[0x17e778]
MOV RBX,RAX
JMP 0x001480b3
MOV ESI,0x1
CALL qword ptr [0x00196f88]
LEA RDX,[0x16a48c]
MOV R15D,EAX
MOV qword ptr [RSP + 0x18],RAX
MOV RAX,qword ptr [RSP]
MOV RDI,R15
CMP RAX,RBP
LEA RAX,[0x180980]
CMOVZ RDX,RAX
MOV qword ptr [RSP + 0x10],RDX
CALL 0x0013eaf0
MOV RDX,qword ptr [RSP + 0x10]
LEA RDI,[0x163f55]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV RCX,qword ptr [RSP + 0x18]
CMP ECX,0x17
JA 0x00148bf3
MOV RAX,RBX
SHL RAX,CL
TEST EAX,0x80fff8
JZ 0x00148bf3
ADD RBP,0x1
MOV RDI,R14
CMP RBP,R13
JNZ 0x00148ba8
MOV R15,R12
MOV R12,R14
JMP 0x001483a3
XOR EDI,EDI
CALL 0x0013eaf0
LEA RDX,[0x180980]
JMP 0x00148bdf
MOV ESI,0x2
MOV dword ptr [RSP + 0x18],R8D
MOV RDI,R14
CALL qword ptr [0x00196f88]
LEA EDX,[RAX + -0x2]
CMP EDX,0x2
JA 0x0014879b
MOV R8D,dword ptr [RSP + 0x18]
CMP EAX,0x4
SETZ AL
LEA EDX,[R8 + 0x1]
MOVZX EAX,AL
LEA R14,[R14 + RDX*0x1 + 0x2]
ADD R14,RAX
LEA RDI,[R14 + 0x3]
ADD R14,0x4
CMP RBP,R14
JBE 0x00148e07
MOV ESI,0x1
CALL qword ptr [0x00196f88]
TEST EAX,EAX
JZ 0x0014879b
SUB EAX,0x1
ADD RAX,R14
MOV qword ptr [RSP + 0x18],RAX
CMP RBP,RAX
JBE 0x0014879b
MOV R14,RAX
JMP 0x00148d3c
MOV RSI,RBP
MOV RDI,R14
SUB RSI,R14
CALL 0x00107210
LEA R14,[R14 + RAX*0x1 + 0x1]
CMP RBP,R14
JBE 0x0014879b
CMP byte ptr [R14],0x0
JNZ 0x00148d20
LEA R9,[R14 + 0x1]
CMP RBP,R9
JBE 0x0014879b
MOV RCX,qword ptr [RSP + 0x10]
MOVZX EAX,byte ptr [R14 + 0x1]
CMP RCX,0x1
JZ 0x00148eec
TEST AL,AL
JZ 0x00148eec
MOV qword ptr [RSP + 0x10],R13
LEA R14,[RSP + 0x6c]
MOV R13,RCX
MOV qword ptr [RSP + 0x50],RBX
MOV RBX,R9
JMP 0x00148d9d
MOVZX EAX,byte ptr [RBX]
TEST AL,AL
JZ 0x00148edf
CMP R13,0x1
JZ 0x00148edf
MOV RSI,RBP
MOV RDI,RBX
SUB R13,0x1
SUB RSI,RBX
CALL 0x00107210
MOV RSI,R14
MOV RCX,RBP
XOR EDX,EDX
LEA RBX,[RBX + RAX*0x1 + 0x1]
MOV RDI,RBX
CALL 0x0013fb20
MOV EAX,dword ptr [RSP + 0x6c]
MOV RCX,RBP
XOR EDX,EDX
ADD RBX,RAX
MOV RDI,RBX
CALL 0x0013fb20
MOV EAX,dword ptr [RSP + 0x6c]
MOV RCX,RBP
XOR EDX,EDX
ADD RBX,RAX
MOV RDI,RBX
CALL 0x0013fb20
MOV EAX,dword ptr [RSP + 0x6c]
ADD RBX,RAX
CMP RBP,RBX
JA 0x00148d88
MOV R13,qword ptr [RSP + 0x10]
MOV RBX,qword ptr [RSP + 0x50]
JMP 0x0014879b
CMP RBP,RDI
JBE 0x0014879b
MOV RSI,RBP
SUB RSI,RDI
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x00148cf7
JMP 0x0014879b
MOV RSI,RAX
SUB RSI,RDX
LEA EDX,[RSI + -0x1]
CMP EDX,0x7
JA 0x00148936
JMP 0x00148b35
ADD RCX,0xc
CMP RBP,RCX
JA 0x00148f86
CMP RBP,R14
JBE 0x00148e74
MOV RSI,RBP
SUB RSI,R14
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x00148f8b
MOV RAX,qword ptr [0x001912b0]
MOV R14,RCX
MOV EDX,0xc
MOV R8D,0x8
JMP 0x00148941
MOV qword ptr [RSP + 0x40],0x0
MOV R13,RBP
MOV EDI,0xa
CALL 0x00107040
CMP R13,R15
JC 0x0014840e
JMP 0x0014818e
MOV EDX,0x5
LEA RSI,[0x17ea08]
XOR EDI,EDI
CALL 0x00107130
MOV ESI,R13D
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00154b80
XOR EAX,EAX
JMP 0x001480c9
MOV R9,RBX
MOV R13,qword ptr [RSP + 0x10]
MOV RBX,qword ptr [RSP + 0x50]
TEST AL,AL
JZ 0x0014879b
MOV RSI,RBP
MOV RDI,R9
MOV qword ptr [RSP + 0x10],R9
SUB RSI,R9
CALL 0x00107210
MOV R9,qword ptr [RSP + 0x10]
LEA RDI,[R9 + RAX*0x1 + 0x1]
CMP RBP,RDI
JBE 0x0014879b
LEA R14,[RSP + 0x6c]
XOR EDX,EDX
MOV RCX,RBP
MOV RSI,R14
CALL 0x0013fb20
MOV R9,qword ptr [RSP + 0x10]
TEST RAX,RAX
JZ 0x00148fb1
MOV qword ptr [RSP + 0x50],RBX
MOV RBX,qword ptr [RSP + 0x18]
MOV R14,R9
MOV qword ptr [RSP + 0x10],R13
MOV R13,RAX
NOP dword ptr [RAX + RAX*0x1]
MOVZX EAX,byte ptr [RBX]
TEST AL,AL
JZ 0x00149014
CMP R13,0x1
JBE 0x00149014
MOV RSI,RBP
MOV RDI,RBX
SUB R13,0x1
SUB RSI,RBX
CALL 0x00107210
LEA RBX,[RBX + RAX*0x1 + 0x1]
CMP RBP,RBX
JA 0x00148f50
JMP 0x00148df8
MOV ESI,0x8
MOV qword ptr [RSP + 0x18],RCX
MOV RDI,R14
CALL qword ptr [0x00196f88]
MOV RCX,qword ptr [RSP + 0x18]
MOV EDX,0xc
MOV R8D,0x8
MOV R14,RCX
JMP 0x00148b61
LEA RAX,[0x169c35]
MOV qword ptr [RSP + 0x18],RAX
MOV RBP,RAX
XOR EDI,EDI
MOV EDX,0x5
MOV qword ptr [RSP + 0x10],R9
LEA RSI,[0x17e840]
CALL 0x00107130
MOV R9,qword ptr [RSP + 0x10]
MOV ESI,dword ptr [RSP + 0x8]
MOV EDX,EBX
MOV RCX,qword ptr [RSP + 0x18]
MOV RDI,RAX
MOV R8,RBP
XOR EAX,EAX
CALL 0x00107190
JMP 0x001484e0
MOV EDI,0xa
CALL 0x00107040
MOV EAX,0x1
JMP 0x001480c9
MOV qword ptr [RSP + 0x18],RBX
MOV R13,qword ptr [RSP + 0x10]
MOV R9,R14
MOV RBX,qword ptr [RSP + 0x50]
CMP RBP,qword ptr [RSP + 0x18]
JBE 0x0014879b
LEA RBP,[0x16ae1e]
TEST AL,AL
JNZ 0x00148fc0
JMP 0x0014879b
MOV ESI,EAX
JMP 0x00148aea
MOV qword ptr [RSP + 0x30],0x0
MOV RBP,R14
JMP 0x00148297
(translation_unit "undefined8 FUN_00148020(long param_1,undefined8 param_2)\n\n{\n  uint uVar1;\n  char *pcVar2;\n  int iVar3;\n  char cVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  ulong uVar12;\n  char *pcVar13;\n  ulong *puVar14;\n  ulong uVar15;\n  ulong uVar16;\n  size_t sVar17;\n  char *pcVar18;\n  ulong uVar19;\n  ulong uVar20;\n  char *pcVar21;\n  char *pcVar22;\n  undefined1 *puVar23;\n  long lVar24;\n  char *pcVar25;\n  ulong uVar26;\n  long lVar27;\n  long lVar28;\n  uint uVar29;\n  ulong uVar30;\n  char *pcVar31;\n  byte bVar32;\n  char *local_890;\n  ulong local_878;\n  ulong *local_868;\n  uint local_840;\n  uint local_83c;\n  ulong local_838 [257];\n  \n  bVar32 = 0;\n  pcVar2 = *(char **)(param_1 + 0x20);\n  pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);\n  FUN_0013e500(10);\n  FUN_0013e500(4,param_2);\n  FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n  pcVar25 = pcVar2;\n  if (pcVar21 <= pcVar2) {\n    return 1;\n  }\nLAB_0014807f:\n  pcVar13 = pcVar25 + 2;\n  if (pcVar13 < pcVar21) {\n    lVar24 = 2;\n  }\n  else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }\n  uVar5 = (*DAT_00196f88)(pcVar25,lVar24);\n  if (1 < uVar5 - 4) {\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }\n  pcVar31 = pcVar25 + 3;\n  if (pcVar21 <= pcVar31) {\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }\n  lVar24 = 1;\nLAB_001481bd:\n  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);\n  uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;\n  pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n  printf(pcVar13,(long)pcVar25 - (long)pcVar2);\n  pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n  printf(pcVar25,(ulong)uVar5);\n  pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n  printf(pcVar25,(ulong)uVar29);\n  iVar3 = (int)pcVar21;\n  if ((uVar12 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }\n  if ((uVar12 & 4) == 0) {\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }\n  else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }\n  putchar(10);\n  if (pcVar13 < pcVar21) {\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }\n  goto LAB_0014818e;\n  while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }\nLAB_00148eec:\n  if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }\nLAB_0014879b:\n  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);\n  printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);\nLAB_001484e0:\n  if (pcVar21 <= pcVar13) goto LAB_0014818e;\n  pcVar25 = pcVar13 + 1;\n  if (pcVar21 <= pcVar25) goto LAB_00148430;\nLAB_001484f6:\n  uVar6 = (*DAT_00196f88)(pcVar13,1);\n  if (uVar6 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }\n  goto LAB_00148456;\n}\n\n" (function_definition "undefined8 FUN_00148020(long param_1,undefined8 param_2)\n\n{\n  uint uVar1;\n  char *pcVar2;\n  int iVar3;\n  char cVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  ulong uVar12;\n  char *pcVar13;\n  ulong *puVar14;\n  ulong uVar15;\n  ulong uVar16;\n  size_t sVar17;\n  char *pcVar18;\n  ulong uVar19;\n  ulong uVar20;\n  char *pcVar21;\n  char *pcVar22;\n  undefined1 *puVar23;\n  long lVar24;\n  char *pcVar25;\n  ulong uVar26;\n  long lVar27;\n  long lVar28;\n  uint uVar29;\n  ulong uVar30;\n  char *pcVar31;\n  byte bVar32;\n  char *local_890;\n  ulong local_878;\n  ulong *local_868;\n  uint local_840;\n  uint local_83c;\n  ulong local_838 [257];\n  \n  bVar32 = 0;\n  pcVar2 = *(char **)(param_1 + 0x20);\n  pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);\n  FUN_0013e500(10);\n  FUN_0013e500(4,param_2);\n  FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n  pcVar25 = pcVar2;\n  if (pcVar21 <= pcVar2) {\n    return 1;\n  }\nLAB_0014807f:\n  pcVar13 = pcVar25 + 2;\n  if (pcVar13 < pcVar21) {\n    lVar24 = 2;\n  }\n  else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }\n  uVar5 = (*DAT_00196f88)(pcVar25,lVar24);\n  if (1 < uVar5 - 4) {\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }\n  pcVar31 = pcVar25 + 3;\n  if (pcVar21 <= pcVar31) {\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }\n  lVar24 = 1;\nLAB_001481bd:\n  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);\n  uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;\n  pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n  printf(pcVar13,(long)pcVar25 - (long)pcVar2);\n  pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n  printf(pcVar25,(ulong)uVar5);\n  pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n  printf(pcVar25,(ulong)uVar29);\n  iVar3 = (int)pcVar21;\n  if ((uVar12 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }\n  if ((uVar12 & 4) == 0) {\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }\n  else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }\n  putchar(10);\n  if (pcVar13 < pcVar21) {\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }\n  goto LAB_0014818e;\n  while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }\nLAB_00148eec:\n  if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }\nLAB_0014879b:\n  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);\n  printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);\nLAB_001484e0:\n  if (pcVar21 <= pcVar13) goto LAB_0014818e;\n  pcVar25 = pcVar13 + 1;\n  if (pcVar21 <= pcVar25) goto LAB_00148430;\nLAB_001484f6:\n  uVar6 = (*DAT_00196f88)(pcVar13,1);\n  if (uVar6 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }\n  goto LAB_00148456;\n}" type_identifier (function_declarator "FUN_00148020(long param_1,undefined8 param_2)" identifier (parameter_list "(long param_1,undefined8 param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  char *pcVar2;\n  int iVar3;\n  char cVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  ulong uVar12;\n  char *pcVar13;\n  ulong *puVar14;\n  ulong uVar15;\n  ulong uVar16;\n  size_t sVar17;\n  char *pcVar18;\n  ulong uVar19;\n  ulong uVar20;\n  char *pcVar21;\n  char *pcVar22;\n  undefined1 *puVar23;\n  long lVar24;\n  char *pcVar25;\n  ulong uVar26;\n  long lVar27;\n  long lVar28;\n  uint uVar29;\n  ulong uVar30;\n  char *pcVar31;\n  byte bVar32;\n  char *local_890;\n  ulong local_878;\n  ulong *local_868;\n  uint local_840;\n  uint local_83c;\n  ulong local_838 [257];\n  \n  bVar32 = 0;\n  pcVar2 = *(char **)(param_1 + 0x20);\n  pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);\n  FUN_0013e500(10);\n  FUN_0013e500(4,param_2);\n  FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n  pcVar25 = pcVar2;\n  if (pcVar21 <= pcVar2) {\n    return 1;\n  }\nLAB_0014807f:\n  pcVar13 = pcVar25 + 2;\n  if (pcVar13 < pcVar21) {\n    lVar24 = 2;\n  }\n  else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }\n  uVar5 = (*DAT_00196f88)(pcVar25,lVar24);\n  if (1 < uVar5 - 4) {\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }\n  pcVar31 = pcVar25 + 3;\n  if (pcVar21 <= pcVar31) {\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }\n  lVar24 = 1;\nLAB_001481bd:\n  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);\n  uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;\n  pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n  printf(pcVar13,(long)pcVar25 - (long)pcVar2);\n  pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n  printf(pcVar25,(ulong)uVar5);\n  pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n  printf(pcVar25,(ulong)uVar29);\n  iVar3 = (int)pcVar21;\n  if ((uVar12 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }\n  if ((uVar12 & 4) == 0) {\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }\n  else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }\n  putchar(10);\n  if (pcVar13 < pcVar21) {\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }\n  goto LAB_0014818e;\n  while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }\nLAB_00148eec:\n  if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }\nLAB_0014879b:\n  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);\n  printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);\nLAB_001484e0:\n  if (pcVar21 <= pcVar13) goto LAB_0014818e;\n  pcVar25 = pcVar13 + 1;\n  if (pcVar21 <= pcVar25) goto LAB_00148430;\nLAB_001484f6:\n  uVar6 = (*DAT_00196f88)(pcVar13,1);\n  if (uVar6 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }\n  goto LAB_00148456;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "ulong *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "ulong uVar15;" type_identifier identifier ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "ulong uVar19;" type_identifier identifier ;) (declaration "ulong uVar20;" type_identifier identifier ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "undefined1 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "long lVar24;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar25;" primitive_type (pointer_declarator "*pcVar25" * identifier) ;) (declaration "ulong uVar26;" type_identifier identifier ;) (declaration "long lVar27;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar28;" (sized_type_specifier "long" long) identifier ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "ulong uVar30;" type_identifier identifier ;) (declaration "char *pcVar31;" primitive_type (pointer_declarator "*pcVar31" * identifier) ;) (declaration "byte bVar32;" type_identifier identifier ;) (declaration "char *local_890;" primitive_type (pointer_declarator "*local_890" * identifier) ;) (declaration "ulong local_878;" type_identifier identifier ;) (declaration "ulong *local_868;" type_identifier (pointer_declarator "*local_868" * identifier) ;) (declaration "uint local_840;" type_identifier identifier ;) (declaration "uint local_83c;" type_identifier identifier ;) (declaration "ulong local_838 [257];" type_identifier (array_declarator "local_838 [257]" identifier [ number_literal ]) ;) (expression_statement "bVar32 = 0;" (assignment_expression "bVar32 = 0" identifier = number_literal) ;) (expression_statement "pcVar2 = *(char **)(param_1 + 0x20);" (assignment_expression "pcVar2 = *(char **)(param_1 + 0x20)" identifier = (pointer_expression "*(char **)(param_1 + 0x20)" * (cast_expression "(char **)(param_1 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);" (assignment_expression "pcVar21 = pcVar2 + *(long *)(param_1 + 0x30)" identifier = (binary_expression "pcVar2 + *(long *)(param_1 + 0x30)" identifier + (pointer_expression "*(long *)(param_1 + 0x30)" * (cast_expression "(long *)(param_1 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))))) ;) (expression_statement "FUN_0013e500(10);" (call_expression "FUN_0013e500(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "FUN_0013e500(4,param_2);" (call_expression "FUN_0013e500(4,param_2)" identifier (argument_list "(4,param_2)" ( number_literal , identifier ))) ;) (expression_statement "FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);" (call_expression "FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , (binary_expression "param_1 + 0x18" identifier + number_literal) ))) ;) (expression_statement "pcVar25 = pcVar2;" (assignment_expression "pcVar25 = pcVar2" identifier = identifier) ;) (if_statement "if (pcVar21 <= pcVar2) {\n    return 1;\n  }" if (parenthesized_expression "(pcVar21 <= pcVar2)" ( (binary_expression "pcVar21 <= pcVar2" identifier <= identifier) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_0014807f:\n  pcVar13 = pcVar25 + 2;" statement_identifier : (expression_statement "pcVar13 = pcVar25 + 2;" (assignment_expression "pcVar13 = pcVar25 + 2" identifier = (binary_expression "pcVar25 + 2" identifier + number_literal)) ;)) (if_statement "if (pcVar13 < pcVar21) {\n    lVar24 = 2;\n  }\n  else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }" if (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) (compound_statement "{\n    lVar24 = 2;\n  }" { (expression_statement "lVar24 = 2;" (assignment_expression "lVar24 = 2" identifier = number_literal) ;) }) (else_clause "else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }" else (compound_statement "{\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }" { (expression_statement "lVar24 = (long)pcVar21 - (long)pcVar25;" (assignment_expression "lVar24 = (long)pcVar21 - (long)pcVar25" identifier = (binary_expression "(long)pcVar21 - (long)pcVar25" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if (7 < (int)lVar24 - 1U) goto LAB_0014809e;" if (parenthesized_expression "(7 < (int)lVar24 - 1U)" ( (binary_expression "7 < (int)lVar24 - 1U" number_literal < (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) )) (goto_statement "goto LAB_0014809e;" goto statement_identifier ;)) }))) (expression_statement "uVar5 = (*DAT_00196f88)(pcVar25,lVar24);" (assignment_expression "uVar5 = (*DAT_00196f88)(pcVar25,lVar24)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,lVar24)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,lVar24)" ( identifier , identifier )))) ;) (if_statement "if (1 < uVar5 - 4) {\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }" if (parenthesized_expression "(1 < uVar5 - 4)" ( (binary_expression "1 < uVar5 - 4" number_literal < (binary_expression "uVar5 - 4" identifier - number_literal)) )) (compound_statement "{\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }" { (labeled_statement "LAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";" statement_identifier : (expression_statement "pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";" (assignment_expression "pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n"" identifier = (string_literal ""Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n"" " string_content escape_sequence ")) ;)) (expression_statement "uVar11 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar11 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);" statement_identifier : (expression_statement "uVar10 = dcgettext(0,pcVar25,5);" (assignment_expression "uVar10 = dcgettext(0,pcVar25,5)" identifier = (call_expression "dcgettext(0,pcVar25,5)" identifier (argument_list "(0,pcVar25,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "error(uVar10,uVar11);" (call_expression "error(uVar10,uVar11)" identifier (argument_list "(uVar10,uVar11)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar31 = pcVar25 + 3;" (assignment_expression "pcVar31 = pcVar25 + 3" identifier = (binary_expression "pcVar25 + 3" identifier + number_literal)) ;) (if_statement "if (pcVar21 <= pcVar31) {\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }" if (parenthesized_expression "(pcVar21 <= pcVar31)" ( (binary_expression "pcVar21 <= pcVar31" identifier <= identifier) )) (compound_statement "{\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }" { (if_statement "if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;" if (parenthesized_expression "((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))" ( (binary_expression "(pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8)" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) && (parenthesized_expression "(lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8)" ( (comma_expression "lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8" (assignment_expression "lVar24 = (long)pcVar21 - (long)pcVar13" identifier = (binary_expression "(long)pcVar21 - (long)pcVar13" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar24 - 1U < 8" (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_001481bd;" goto statement_identifier ;)) (expression_statement "pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);" (assignment_expression "pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset:                      0x%lx\n",5)" identifier (argument_list "(0,"  Offset:                      0x%lx\n",5)" ( number_literal , (string_literal ""  Offset:                      0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar21,(long)pcVar25 - (long)pcVar2);" (call_expression "printf(pcVar21,(long)pcVar25 - (long)pcVar2)" identifier (argument_list "(pcVar21,(long)pcVar25 - (long)pcVar2)" ( identifier , (binary_expression "(long)pcVar25 - (long)pcVar2" (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ;) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version:                     %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version:                     %d\n",5)" identifier (argument_list "(0,"  Version:                     %d\n",5)" ( number_literal , (string_literal ""  Version:                     %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,(ulong)uVar5);" (call_expression "printf(pcVar25,(ulong)uVar5)" identifier (argument_list "(pcVar25,(ulong)uVar5)" ( identifier , (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset size:                 %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset size:                 %d\n",5)" identifier (argument_list "(0,"  Offset size:                 %d\n",5)" ( number_literal , (string_literal ""  Offset size:                 %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,4);" (call_expression "printf(pcVar25,4)" identifier (argument_list "(pcVar25,4)" ( identifier , number_literal ))) ;) (goto_statement "goto LAB_00148184;" goto statement_identifier ;) })) (expression_statement "lVar24 = 1;" (assignment_expression "lVar24 = 1" identifier = number_literal) ;) (labeled_statement "LAB_001481bd:\n  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);" statement_identifier : (expression_statement "uVar12 = (*DAT_00196f88)(pcVar13,lVar24);" (assignment_expression "uVar12 = (*DAT_00196f88)(pcVar13,lVar24)" identifier = (call_expression "(*DAT_00196f88)(pcVar13,lVar24)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar13,lVar24)" ( identifier , identifier )))) ;)) (expression_statement "uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;" (assignment_expression "uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8" identifier = (binary_expression "(-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8" (parenthesized_expression "(-(uint)((uVar12 & 1) == 0) & 0xfffffffc)" ( (binary_expression "-(uint)((uVar12 & 1) == 0) & 0xfffffffc" (unary_expression "-(uint)((uVar12 & 1) == 0)" - (call_expression "(uint)((uVar12 & 1) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar12 & 1) == 0)" ( (binary_expression "(uVar12 & 1) == 0" (parenthesized_expression "(uVar12 & 1)" ( (binary_expression "uVar12 & 1" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset:                      0x%lx\n",5)" identifier (argument_list "(0,"  Offset:                      0x%lx\n",5)" ( number_literal , (string_literal ""  Offset:                      0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar13,(long)pcVar25 - (long)pcVar2);" (call_expression "printf(pcVar13,(long)pcVar25 - (long)pcVar2)" identifier (argument_list "(pcVar13,(long)pcVar25 - (long)pcVar2)" ( identifier , (binary_expression "(long)pcVar25 - (long)pcVar2" (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ;) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version:                     %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version:                     %d\n",5)" identifier (argument_list "(0,"  Version:                     %d\n",5)" ( number_literal , (string_literal ""  Version:                     %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,(ulong)uVar5);" (call_expression "printf(pcVar25,(ulong)uVar5)" identifier (argument_list "(pcVar25,(ulong)uVar5)" ( identifier , (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset size:                 %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset size:                 %d\n",5)" identifier (argument_list "(0,"  Offset size:                 %d\n",5)" ( number_literal , (string_literal ""  Offset size:                 %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,(ulong)uVar29);" (call_expression "printf(pcVar25,(ulong)uVar29)" identifier (argument_list "(pcVar25,(ulong)uVar29)" ( identifier , (cast_expression "(ulong)uVar29" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "iVar3 = (int)pcVar21;" (assignment_expression "iVar3 = (int)pcVar21" identifier = (cast_expression "(int)pcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((uVar12 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }" if (parenthesized_expression "((uVar12 & 2) == 0)" ( (binary_expression "(uVar12 & 2) == 0" (parenthesized_expression "(uVar12 & 2)" ( (binary_expression "uVar12 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    local_878 = 0;\n  }" { (expression_statement "local_878 = 0;" (assignment_expression "local_878 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }" else (compound_statement "{\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }" { (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }" if (parenthesized_expression "((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar31 + uVar29 < pcVar21)" ( (binary_expression "pcVar31 + uVar29 < pcVar21" (binary_expression "pcVar31 + uVar29" identifier + identifier) < identifier) )) || (parenthesized_expression "((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))" ( (parenthesized_expression "(local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8))" ( (comma_expression "local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)" (assignment_expression "local_878 = 0" identifier = number_literal) , (binary_expression "pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)" (binary_expression "pcVar31 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar31" identifier = (binary_expression "iVar3 - (int)pcVar31" identifier - (cast_expression "(int)pcVar31" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }" { (expression_statement "local_878 = (*DAT_00196f88)(pcVar31,uVar6);" (assignment_expression "local_878 = (*DAT_00196f88)(pcVar31,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar31,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar31,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5)" identifier (argument_list "(0,"  Offset into .debug_line:     0x%lx\n",5)" ( number_literal , (string_literal ""  Offset into .debug_line:     0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,local_878);" (call_expression "printf(pcVar25,local_878)" identifier (argument_list "(pcVar25,local_878)" ( identifier , identifier ))) ;) (expression_statement "pcVar31 = pcVar31 + uVar29;" (assignment_expression "pcVar31 = pcVar31 + uVar29" identifier = (binary_expression "pcVar31 + uVar29" identifier + identifier)) ;) }))) (if_statement "if ((uVar12 & 4) == 0) {\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }\n  else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }" if (parenthesized_expression "((uVar12 & 4) == 0)" ( (binary_expression "(uVar12 & 4) == 0" (parenthesized_expression "(uVar12 & 4)" ( (binary_expression "uVar12 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }" { (expression_statement "local_868 = (ulong *)0x0;" (assignment_expression "local_868 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = pcVar31;" (assignment_expression "pcVar13 = pcVar31" identifier = identifier) ;) }) (else_clause "else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }" else (compound_statement "{\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }" { (expression_statement "pcVar13 = pcVar31 + 1;" (assignment_expression "pcVar13 = pcVar31 + 1" identifier = (binary_expression "pcVar31 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }" if (parenthesized_expression "(pcVar21 <= pcVar13)" ( (binary_expression "pcVar21 <= pcVar13" identifier <= identifier) )) (compound_statement "{\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }" { (if_statement "if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }" if (parenthesized_expression "((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8))" ( (binary_expression "(pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)" (parenthesized_expression "(pcVar31 < pcVar21)" ( (binary_expression "pcVar31 < pcVar21" identifier < identifier) )) && (parenthesized_expression "((iVar3 - (int)pcVar31) - 1U < 8)" ( (binary_expression "(iVar3 - (int)pcVar31) - 1U < 8" (binary_expression "(iVar3 - (int)pcVar31) - 1U" (parenthesized_expression "(iVar3 - (int)pcVar31)" ( (binary_expression "iVar3 - (int)pcVar31" identifier - (cast_expression "(int)pcVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal) ))) )) (compound_statement "{\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }" { (expression_statement "uVar6 = (*DAT_00196f88)(pcVar31);" (assignment_expression "uVar6 = (*DAT_00196f88)(pcVar31)" identifier = (call_expression "(*DAT_00196f88)(pcVar31)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar31)" ( identifier )))) ;) (expression_statement "puVar14 = local_838;" (assignment_expression "puVar14 = local_838" identifier = identifier) ;) (for_statement "for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }" for ( (assignment_expression "lVar24 = 0x100" identifier = number_literal) ; (binary_expression "lVar24 != 0" identifier != number_literal) ; (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ) (compound_statement "{\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }" { (expression_statement "*puVar14 = 0;" (assignment_expression "*puVar14 = 0" (pointer_expression "*puVar14" * identifier) = number_literal) ;) (expression_statement "puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;" (assignment_expression "puVar14 = puVar14 + (ulong)bVar32 * -2 + 1" identifier = (binary_expression "puVar14 + (ulong)bVar32 * -2 + 1" (binary_expression "puVar14 + (ulong)bVar32 * -2" identifier + (binary_expression "(ulong)bVar32 * -2" (cast_expression "(ulong)bVar32" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (uVar6 != 0) goto LAB_001482f8;" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001482f8;" goto statement_identifier ;)) })) (labeled_statement "LAB_00148184:\n      putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (labeled_statement "LAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);" statement_identifier : (expression_statement "uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);" (assignment_expression "uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5)" identifier = (call_expression "dcgettext(0,".debug_macro section not zero terminated\n",5)" identifier (argument_list "(0,".debug_macro section not zero terminated\n",5)" ( number_literal , (string_literal "".debug_macro section not zero terminated\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "error(uVar11);" (call_expression "error(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "local_868 = local_838;" (assignment_expression "local_868 = local_838" identifier = identifier) ;) (expression_statement "uVar6 = (*DAT_00196f88)(pcVar31,1);" (assignment_expression "uVar6 = (*DAT_00196f88)(pcVar31,1)" identifier = (call_expression "(*DAT_00196f88)(pcVar31,1)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar31,1)" ( identifier , number_literal )))) ;) (expression_statement "puVar14 = local_868;" (assignment_expression "puVar14 = local_868" identifier = identifier) ;) (for_statement "for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }" for ( (assignment_expression "lVar24 = 0x100" identifier = number_literal) ; (binary_expression "lVar24 != 0" identifier != number_literal) ; (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }" { (expression_statement "*puVar14 = 0;" (assignment_expression "*puVar14 = 0" (pointer_expression "*puVar14" * identifier) = number_literal) ;) (expression_statement "puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;" (assignment_expression "puVar14 = puVar14 + (ulong)bVar32 * -2 + 1" identifier = (binary_expression "puVar14 + (ulong)bVar32 * -2 + 1" (binary_expression "puVar14 + (ulong)bVar32 * -2" identifier + (binary_expression "(ulong)bVar32 * -2" (cast_expression "(ulong)bVar32" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      putchar(10);\n      goto LAB_0014840e;\n    }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (goto_statement "goto LAB_0014840e;" goto statement_identifier ;) })) (labeled_statement "LAB_001482f8:\n    local_868 = local_838;" statement_identifier : (expression_statement "local_868 = local_838;" (assignment_expression "local_868 = local_838" identifier = identifier) ;)) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Extension opcode arguments:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Extension opcode arguments:\n",5)" identifier (argument_list "(0,"  Extension opcode arguments:\n",5)" ( number_literal , (string_literal ""  Extension opcode arguments:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25);" (call_expression "printf(pcVar25)" identifier (argument_list "(pcVar25)" ( identifier ))) ;) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (do_statement "do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);" do (compound_statement "{\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    }" { (expression_statement "pcVar25 = pcVar13 + 1;" (assignment_expression "pcVar25 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }" if (parenthesized_expression "(pcVar25 < pcVar21)" ( (binary_expression "pcVar25 < pcVar21" identifier < identifier) )) (compound_statement "{\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }" { (expression_statement "lVar24 = 1;" (assignment_expression "lVar24 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);" statement_identifier : (expression_statement "uVar8 = (*DAT_00196f88)(pcVar13,lVar24);" (assignment_expression "uVar8 = (*DAT_00196f88)(pcVar13,lVar24)" identifier = (call_expression "(*DAT_00196f88)(pcVar13,lVar24)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar13,lVar24)" ( identifier , identifier )))) ;)) (expression_statement "uVar26 = (ulong)uVar8;" (assignment_expression "uVar26 = (ulong)uVar8" identifier = (cast_expression "(ulong)uVar8" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "puVar14 = local_868 + uVar8;" (assignment_expression "puVar14 = local_868 + uVar8" identifier = (binary_expression "local_868 + uVar8" identifier + identifier)) ;) }) (else_clause "else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }" else (compound_statement "{\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }" { (if_statement "if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;" if (parenthesized_expression "((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))" ( (binary_expression "(pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8)" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) && (parenthesized_expression "(lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8)" ( (comma_expression "lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8" (assignment_expression "lVar24 = (long)pcVar21 - (long)pcVar13" identifier = (binary_expression "(long)pcVar21 - (long)pcVar13" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar24 - 1U < 8" (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00148b15;" goto statement_identifier ;)) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "puVar14 = local_868;" (assignment_expression "puVar14 = local_868" identifier = identifier) ;) }))) (expression_statement "*puVar14 = (ulong)pcVar25;" (assignment_expression "*puVar14 = (ulong)pcVar25" (pointer_expression "*puVar14" * identifier) = (cast_expression "(ulong)pcVar25" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar13 = pcVar25 + local_840;" (assignment_expression "pcVar13 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (if_statement "if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }" { (expression_statement "pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5)" identifier (argument_list "(0,"    DW_MACRO_%02x has no arguments\n",5)" ( number_literal , (string_literal ""    DW_MACRO_%02x has no arguments\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,uVar26);" (call_expression "printf(pcVar25,uVar26)" identifier (argument_list "(pcVar25,uVar26)" ( identifier , identifier ))) ;) }) (else_clause "else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }" else (compound_statement "{\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }" { (expression_statement "lVar27 = 0;" (assignment_expression "lVar27 = 0" identifier = number_literal) ;) (expression_statement "pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5)" identifier = (cast_expression "(char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    DW_MACRO_%02x arguments: ",5)" identifier (argument_list "(0,"    DW_MACRO_%02x arguments: ",5)" ( number_literal , (string_literal ""    DW_MACRO_%02x arguments: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,uVar26);" (call_expression "printf(pcVar25,uVar26)" identifier (argument_list "(pcVar25,uVar26)" ( identifier , identifier ))) ;) (expression_statement "pcVar25 = pcVar13;" (assignment_expression "pcVar25 = pcVar13" identifier = identifier) ;) (do_statement "do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);" do (compound_statement "{\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        }" { (expression_statement "pcVar13 = pcVar25 + 1;" (assignment_expression "pcVar13 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }" if (parenthesized_expression "(pcVar21 <= pcVar13)" ( (binary_expression "pcVar21 <= pcVar13" identifier <= identifier) )) (compound_statement "{\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }" { (if_statement "if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;" if (parenthesized_expression "((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8))" ( (binary_expression "(pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)" (parenthesized_expression "(pcVar25 < pcVar21)" ( (binary_expression "pcVar25 < pcVar21" identifier < identifier) )) && (parenthesized_expression "(lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)" ( (comma_expression "lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8" (assignment_expression "lVar28 = (long)pcVar21 - (long)pcVar25" identifier = (binary_expression "(long)pcVar21 - (long)pcVar25" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar28 - 1U < 8" (binary_expression "(int)lVar28 - 1U" (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00148c15;" goto statement_identifier ;)) (if_statement "if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }" if (parenthesized_expression "(lVar27 == lVar24 + -1)" ( (binary_expression "lVar27 == lVar24 + -1" identifier == (binary_expression "lVar24 + -1" identifier + number_literal)) )) (compound_statement "{\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }" { (expression_statement "uVar11 = FUN_0013eaf0(0);" (assignment_expression "uVar11 = FUN_0013eaf0(0)" identifier = (call_expression "FUN_0013eaf0(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar25 = "\n";" (assignment_expression "pcVar25 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) }) (else_clause "else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }" else (compound_statement "{\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }" { (expression_statement "uVar11 = FUN_0013eaf0(0);" (assignment_expression "uVar11 = FUN_0013eaf0(0)" identifier = (call_expression "FUN_0013eaf0(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar25 = ", ";" (assignment_expression "pcVar25 = ", "" identifier = (string_literal "", "" " string_content ")) ;) }))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "printf("%s%s",uVar11,pcVar25);" (call_expression "printf("%s%s",uVar11,pcVar25)" identifier (argument_list "("%s%s",uVar11,pcVar25)" ( (string_literal ""%s%s"" " string_content ") , identifier , identifier ))) ;) (labeled_statement "LAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);" statement_identifier : (expression_statement "uVar11 = FUN_0013eaf0(uVar8);" (assignment_expression "uVar11 = FUN_0013eaf0(uVar8)" identifier = (call_expression "FUN_0013eaf0(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;)) (expression_statement "pcVar25 = "Invalid extension opcode form %s\n";" (assignment_expression "pcVar25 = "Invalid extension opcode form %s\n"" identifier = (string_literal ""Invalid extension opcode form %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_001480b3;" goto statement_identifier ;) })) (expression_statement "lVar28 = 1;" (assignment_expression "lVar28 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);" statement_identifier : (expression_statement "uVar8 = (*DAT_00196f88)(pcVar25,lVar28);" (assignment_expression "uVar8 = (*DAT_00196f88)(pcVar25,lVar28)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,lVar28)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,lVar28)" ( identifier , identifier )))) ;)) (expression_statement "pcVar25 = ", ";" (assignment_expression "pcVar25 = ", "" identifier = (string_literal "", "" " string_content ")) ;) (if_statement "if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }" if (parenthesized_expression "(lVar24 + -1 == lVar27)" ( (binary_expression "lVar24 + -1 == lVar27" (binary_expression "lVar24 + -1" identifier + number_literal) == identifier) )) (compound_statement "{\n            pcVar25 = "\n";\n          }" { (expression_statement "pcVar25 = "\n";" (assignment_expression "pcVar25 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) })) (expression_statement "uVar11 = FUN_0013eaf0(uVar8);" (assignment_expression "uVar11 = FUN_0013eaf0(uVar8)" identifier = (call_expression "FUN_0013eaf0(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "printf("%s%s",uVar11,pcVar25);" (call_expression "printf("%s%s",uVar11,pcVar25)" identifier (argument_list "("%s%s",uVar11,pcVar25)" ( (string_literal ""%s%s"" " string_content ") , identifier , identifier ))) ;) (if_statement "if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;" if (parenthesized_expression "((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0))" ( (binary_expression "(0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)" (parenthesized_expression "(0x17 < uVar8)" ( (binary_expression "0x17 < uVar8" number_literal < identifier) )) || (parenthesized_expression "((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)" ( (binary_expression "(1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0" (parenthesized_expression "(1L << ((byte)uVar8 & 0x3f) & 0x80fff8U)" ( (binary_expression "1L << ((byte)uVar8 & 0x3f) & 0x80fff8U" (binary_expression "1L << ((byte)uVar8 & 0x3f)" number_literal << (parenthesized_expression "((byte)uVar8 & 0x3f)" ( (binary_expression "(byte)uVar8 & 0x3f" (cast_expression "(byte)uVar8" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_00148bf3;" goto statement_identifier ;)) (expression_statement "lVar27 = lVar27 + 1;" (assignment_expression "lVar27 = lVar27 + 1" identifier = (binary_expression "lVar27 + 1" identifier + number_literal)) ;) (expression_statement "pcVar25 = pcVar13;" (assignment_expression "pcVar25 = pcVar13" identifier = identifier) ;) }) while (parenthesized_expression "(lVar27 != lVar24)" ( (binary_expression "lVar27 != lVar24" identifier != identifier) )) ;) }))) (expression_statement "uVar1 = uVar1 + 1;" (assignment_expression "uVar1 = uVar1 + 1" identifier = (binary_expression "uVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar1 < uVar6)" ( (binary_expression "uVar1 < uVar6" identifier < identifier) )) ;) }))) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (if_statement "if (pcVar13 < pcVar21) {\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }" if (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) (compound_statement "{\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }" { (labeled_statement "LAB_0014840e:\n    pcVar25 = pcVar13 + 1;" statement_identifier : (expression_statement "pcVar25 = pcVar13 + 1;" (assignment_expression "pcVar25 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;)) (if_statement "if (pcVar25 < pcVar21) goto LAB_001484f6;" if (parenthesized_expression "(pcVar25 < pcVar21)" ( (binary_expression "pcVar25 < pcVar21" identifier < identifier) )) (goto_statement "goto LAB_001484f6;" goto statement_identifier ;)) (labeled_statement "LAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }" statement_identifier : (if_statement "if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }" if (parenthesized_expression "((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0))" ( (binary_expression "(7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)" (parenthesized_expression "(7 < (iVar3 - (int)pcVar13) - 1U)" ( (binary_expression "7 < (iVar3 - (int)pcVar13) - 1U" number_literal < (binary_expression "(iVar3 - (int)pcVar13) - 1U" (parenthesized_expression "(iVar3 - (int)pcVar13)" ( (binary_expression "iVar3 - (int)pcVar13" identifier - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) )) || (parenthesized_expression "(uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)" ( (comma_expression "uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0" (assignment_expression "uVar6 = (*DAT_00196f88)(pcVar13)" identifier = (call_expression "(*DAT_00196f88)(pcVar13)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar13)" ( identifier )))) , (binary_expression "uVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      putchar(10);\n      return 1;\n    }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (return_statement "return 1;" return number_literal ;) }))) (labeled_statement "LAB_00148456:\n    uVar26 = (ulong)uVar6;" statement_identifier : (expression_statement "uVar26 = (ulong)uVar6;" (assignment_expression "uVar26 = (ulong)uVar6" identifier = (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) (expression_statement "pcVar13 = pcVar25;" (assignment_expression "pcVar13 = pcVar25" identifier = identifier) ;) (switch_statement "switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }" switch (parenthesized_expression "(uVar26)" ( identifier )) (compound_statement "{\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }" { (case_statement "default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;" default : (if_statement "if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }" if (parenthesized_expression "((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0))" ( (binary_expression "(local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)" (parenthesized_expression "(local_868 == (ulong *)0x0)" ( (binary_expression "local_868 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar15 = local_868[uVar6], uVar15 == 0)" ( (comma_expression "uVar15 = local_868[uVar6], uVar15 == 0" (assignment_expression "uVar15 = local_868[uVar6]" identifier = (subscript_expression "local_868[uVar6]" identifier [ identifier ])) , (binary_expression "uVar15 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }" { (expression_statement "uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);" (assignment_expression "uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5)" identifier = (call_expression "dcgettext(0," Unknown macro opcode %02x seen\n",5)" identifier (argument_list "(0," Unknown macro opcode %02x seen\n",5)" ( number_literal , (string_literal "" Unknown macro opcode %02x seen\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar11,uVar26);" (call_expression "error(uVar11,uVar26)" identifier (argument_list "(uVar11,uVar26)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);" (assignment_expression "lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(uVar15,&local_840,0,pcVar21)" identifier (argument_list "(uVar15,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (if_statement "if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }" { (expression_statement "pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACRO_%02x\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACRO_%02x\n",5)" identifier (argument_list "(0," DW_MACRO_%02x\n",5)" ( number_literal , (string_literal "" DW_MACRO_%02x\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,uVar26);" (call_expression "printf(pcVar25,uVar26)" identifier (argument_list "(pcVar25,uVar26)" ( identifier , identifier ))) ;) }) (else_clause "else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }" else (compound_statement "{\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }" { (expression_statement "pcVar31 = (char *)(uVar15 + local_840);" (assignment_expression "pcVar31 = (char *)(uVar15 + local_840)" identifier = (cast_expression "(char *)(uVar15 + local_840)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 + local_840)" ( (binary_expression "uVar15 + local_840" identifier + identifier) )))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACRO_%02x -",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACRO_%02x -",5)" identifier (argument_list "(0," DW_MACRO_%02x -",5)" ( number_literal , (string_literal "" DW_MACRO_%02x -"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar13,uVar26);" (call_expression "printf(pcVar13,uVar26)" identifier (argument_list "(pcVar13,uVar26)" ( identifier , identifier ))) ;) (expression_statement "pcVar13 = pcVar31;" (assignment_expression "pcVar13 = pcVar31" identifier = identifier) ;) (do_statement "do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);" do (compound_statement "{\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        }" { (expression_statement "pcVar18 = pcVar13 + 1;" (assignment_expression "pcVar18 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }" if (parenthesized_expression "(pcVar18 < pcVar21)" ( (binary_expression "pcVar18 < pcVar21" identifier < identifier) )) (compound_statement "{\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }" { (expression_statement "uVar26 = 1;" (assignment_expression "uVar26 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);" statement_identifier : (expression_statement "iVar7 = (*DAT_00196f88)(pcVar13,uVar26);" (assignment_expression "iVar7 = (*DAT_00196f88)(pcVar13,uVar26)" identifier = (call_expression "(*DAT_00196f88)(pcVar13,uVar26)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar13,uVar26)" ( identifier , identifier )))) ;)) (expression_statement "lVar27 = (long)iVar7;" (assignment_expression "lVar27 = (long)iVar7" identifier = (cast_expression "(long)iVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) }) (else_clause "else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }" else (compound_statement "{\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }" { (expression_statement "lVar27 = 0;" (assignment_expression "lVar27 = 0" identifier = number_literal) ;) (if_statement "if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }" if (parenthesized_expression "((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8))" ( (binary_expression "(pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) && (parenthesized_expression "((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)" ( (binary_expression "(int)((long)pcVar21 - (long)pcVar13) - 1U < 8" (binary_expression "(int)((long)pcVar21 - (long)pcVar13) - 1U" (cast_expression "(int)((long)pcVar21 - (long)pcVar13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((long)pcVar21 - (long)pcVar13)" ( (binary_expression "(long)pcVar21 - (long)pcVar13" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) - number_literal) < number_literal) ))) )) (compound_statement "{\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }" { (expression_statement "uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;" (assignment_expression "uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff" identifier = (binary_expression "(long)pcVar21 - (long)pcVar13 & 0xffffffff" (binary_expression "(long)pcVar21 - (long)pcVar13" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) & number_literal)) ;) (goto_statement "goto LAB_00148aea;" goto statement_identifier ;) })) }))) (expression_statement "pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);" (assignment_expression "pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20)" identifier = (cast_expression "(char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20)" identifier (argument_list "(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20)" ( number_literal , identifier , number_literal , identifier , identifier , number_literal , number_literal , identifier , identifier , number_literal , number_literal , number_literal , number_literal , number_literal ))))) ;) (if_statement "if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }" if (parenthesized_expression "((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31)" ( (binary_expression "(char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31" (cast_expression "(char *)(lVar24 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar24 + -1)" ( (binary_expression "lVar24 + -1" identifier + number_literal) ))) != (binary_expression "pcVar18 + ~(ulong)pcVar31" identifier + (unary_expression "~(ulong)pcVar31" ~ (cast_expression "(ulong)pcVar31" ( (type_descriptor "ulong" type_identifier) ) identifier)))) )) (compound_statement "{\n            putchar(0x2c);\n          }" { (expression_statement "putchar(0x2c);" (call_expression "putchar(0x2c)" identifier (argument_list "(0x2c)" ( number_literal ))) ;) })) (expression_statement "pcVar13 = pcVar18;" (assignment_expression "pcVar13 = pcVar18" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar18 != pcVar31 + lVar24)" ( (binary_expression "pcVar18 != pcVar31 + lVar24" identifier != (binary_expression "pcVar31 + lVar24" identifier + identifier)) )) ;) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "pcVar13 = pcVar25;" (assignment_expression "pcVar13 = pcVar25" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (expression_statement "sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);" (assignment_expression "sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25)" identifier = (call_expression "strnlen(pcVar25,(long)pcVar21 - (long)pcVar25)" identifier (argument_list "(pcVar25,(long)pcVar21 - (long)pcVar25)" ( identifier , (binary_expression "(long)pcVar21 - (long)pcVar25" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";" (assignment_expression "pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACRO_define - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar13 = pcVar25 + sVar17 + 1;" (assignment_expression "pcVar13 = pcVar25 + sVar17 + 1" identifier = (binary_expression "pcVar25 + sVar17 + 1" (binary_expression "pcVar25 + sVar17" identifier + identifier) + number_literal)) ;) (goto_statement "goto LAB_00148802;" goto statement_identifier ;)) (case_statement "case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (expression_statement "sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);" (assignment_expression "sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25)" identifier = (call_expression "strnlen(pcVar25,(long)pcVar21 - (long)pcVar25)" identifier (argument_list "(pcVar25,(long)pcVar21 - (long)pcVar25)" ( identifier , (binary_expression "(long)pcVar21 - (long)pcVar25" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";" (assignment_expression "pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACRO_undef - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar13 = pcVar25 + sVar17 + 1;" (assignment_expression "pcVar13 = pcVar25 + sVar17 + 1" identifier = (binary_expression "pcVar25 + sVar17 + 1" (binary_expression "pcVar25 + sVar17" identifier + identifier) + number_literal)) ;) (labeled_statement "LAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);" statement_identifier : (expression_statement "pcVar31 = (char *)dcgettext(0,pcVar31,5);" (assignment_expression "pcVar31 = (char *)dcgettext(0,pcVar31,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar31,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar31,5)" identifier (argument_list "(0,pcVar31,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar31,uVar26 & 0xffffffff,pcVar25);" (call_expression "printf(pcVar31,uVar26 & 0xffffffff,pcVar25)" identifier (argument_list "(pcVar31,uVar26 & 0xffffffff,pcVar25)" ( identifier , (binary_expression "uVar26 & 0xffffffff" identifier & number_literal) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "uVar30 = (ulong)local_840;" (assignment_expression "uVar30 = (ulong)local_840" identifier = (cast_expression "(ulong)local_840" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar15 = FUN_0013fb20(pcVar25 + uVar30);" (assignment_expression "uVar15 = FUN_0013fb20(pcVar25 + uVar30)" identifier = (call_expression "FUN_0013fb20(pcVar25 + uVar30)" identifier (argument_list "(pcVar25 + uVar30)" ( (binary_expression "pcVar25 + uVar30" identifier + identifier) )))) ;) (expression_statement "pcVar13 = pcVar25 + uVar30 + local_840;" (assignment_expression "pcVar13 = pcVar25 + uVar30 + local_840" identifier = (binary_expression "pcVar25 + uVar30 + local_840" (binary_expression "pcVar25 + uVar30" identifier + identifier) + identifier)) ;) (if_statement "if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "((uVar12 & 2) == 0)" ( (binary_expression "(uVar12 & 2) == 0" (parenthesized_expression "(uVar12 & 2)" ( (binary_expression "uVar12 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }" { (expression_statement "uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);" (assignment_expression "uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5)" identifier = (call_expression "dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5)" identifier (argument_list "(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5)" ( number_literal , (string_literal ""DW_MACRO_start_file used, but no .debug_line offset provided.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar11);" (call_expression "error(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) }) (else_clause "else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }" else (compound_statement "{\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "uVar30 = uVar15 & 0xffffffff;" (assignment_expression "uVar30 = uVar15 & 0xffffffff" identifier = (binary_expression "uVar15 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0))" ( (binary_expression "((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)" (parenthesized_expression "((DAT_001912a0 != 0) && (local_878 < DAT_001912b0))" ( (binary_expression "(DAT_001912a0 != 0) && (local_878 < DAT_001912b0)" (parenthesized_expression "(DAT_001912a0 != 0)" ( (binary_expression "DAT_001912a0 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_878 < DAT_001912b0)" ( (binary_expression "local_878 < DAT_001912b0" identifier < identifier) ))) )) && (parenthesized_expression "(uVar30 != 0)" ( (binary_expression "uVar30 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }" { (expression_statement "pcVar31 = (char *)(DAT_001912a0 + local_878);" (assignment_expression "pcVar31 = (char *)(DAT_001912a0 + local_878)" identifier = (cast_expression "(char *)(DAT_001912a0 + local_878)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001912a0 + local_878)" ( (binary_expression "DAT_001912a0 + local_878" identifier + identifier) )))) ;) (expression_statement "pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);" (assignment_expression "pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0)" identifier = (cast_expression "(char *)(DAT_001912a0 + DAT_001912b0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001912a0 + DAT_001912b0)" ( (binary_expression "DAT_001912a0 + DAT_001912b0" identifier + identifier) )))) ;) (expression_statement "pcVar25 = pcVar31 + 4;" (assignment_expression "pcVar25 = pcVar31 + 4" identifier = (binary_expression "pcVar31 + 4" identifier + number_literal)) ;) (expression_statement "pcVar18 = pcVar25;" (assignment_expression "pcVar18 = pcVar25" identifier = identifier) ;) (if_statement "if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }" if (parenthesized_expression "(pcVar25 < pcVar22)" ( (binary_expression "pcVar25 < pcVar22" identifier < identifier) )) (compound_statement "{\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }" { (expression_statement "lVar24 = 4;" (assignment_expression "lVar24 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);" statement_identifier : (expression_statement "uVar16 = (*DAT_00196f88)(pcVar31,lVar24);" (assignment_expression "uVar16 = (*DAT_00196f88)(pcVar31,lVar24)" identifier = (call_expression "(*DAT_00196f88)(pcVar31,lVar24)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar31,lVar24)" ( identifier , identifier )))) ;)) (expression_statement "uVar20 = 4;" (assignment_expression "uVar20 = 4" identifier = number_literal) ;) (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) (if_statement "if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }" if (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }" { (expression_statement "pcVar18 = pcVar31 + 0xc;" (assignment_expression "pcVar18 = pcVar31 + 0xc" identifier = (binary_expression "pcVar31 + 0xc" identifier + number_literal)) ;) (if_statement "if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }" if (parenthesized_expression "(pcVar18 < pcVar22)" ( (binary_expression "pcVar18 < pcVar22" identifier < identifier) )) (compound_statement "{\n                lVar24 = 8;\n              }" { (expression_statement "lVar24 = 8;" (assignment_expression "lVar24 = 8" identifier = number_literal) ;) }) (else_clause "else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }" else (if_statement "if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }" if (parenthesized_expression "((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U))" ( (binary_expression "(pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)" (parenthesized_expression "(pcVar22 <= pcVar25)" ( (binary_expression "pcVar22 <= pcVar25" identifier <= identifier) )) || (parenthesized_expression "(lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)" ( (comma_expression "lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U" (assignment_expression "lVar24 = (long)pcVar22 - (long)pcVar25" identifier = (binary_expression "(long)pcVar22 - (long)pcVar25" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "7 < (int)lVar24 - 1U" number_literal < (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal))) ))) )) (compound_statement "{\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }" { (expression_statement "uVar19 = 0xc;" (assignment_expression "uVar19 = 0xc" identifier = number_literal) ;) (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_00148941;" goto statement_identifier ;) })))) (expression_statement "uVar16 = (*DAT_00196f88)(pcVar25,lVar24);" (assignment_expression "uVar16 = (*DAT_00196f88)(pcVar25,lVar24)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,lVar24)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,lVar24)" ( identifier , identifier )))) ;) (expression_statement "uVar20 = 0xc;" (assignment_expression "uVar20 = 0xc" identifier = number_literal) ;) (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" identifier = number_literal) ;) })) (expression_statement "uVar19 = uVar20 + uVar16;" (assignment_expression "uVar19 = uVar20 + uVar16" identifier = (binary_expression "uVar20 + uVar16" identifier + identifier)) ;) (if_statement "if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;" if (parenthesized_expression "(CARRY8(uVar20,uVar16))" ( (call_expression "CARRY8(uVar20,uVar16)" identifier (argument_list "(uVar20,uVar16)" ( identifier , identifier ))) )) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)) }) (else_clause "else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }" else (compound_statement "{\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }" { (if_statement "if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;" if (parenthesized_expression "((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))" ( (binary_expression "(pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8)" (parenthesized_expression "(pcVar31 < pcVar22)" ( (binary_expression "pcVar31 < pcVar22" identifier < identifier) )) && (parenthesized_expression "(lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8)" ( (comma_expression "lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8" (assignment_expression "lVar24 = DAT_001912b0 - local_878" identifier = (binary_expression "DAT_001912b0 - local_878" identifier - identifier)) , (binary_expression "(int)lVar24 - 1U < 8" (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00148b35;" goto statement_identifier ;)) (expression_statement "uVar19 = 4;" (assignment_expression "uVar19 = 4" identifier = number_literal) ;) (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) }))) (labeled_statement "LAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }" statement_identifier : (if_statement "if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }" if (parenthesized_expression "(uVar19 <= DAT_001912b0)" ( (binary_expression "uVar19 <= DAT_001912b0" identifier <= identifier) )) (compound_statement "{\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }" { (if_statement "if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;" if (parenthesized_expression "(pcVar18 + 2 < pcVar22)" ( (binary_expression "pcVar18 + 2 < pcVar22" (binary_expression "pcVar18 + 2" identifier + number_literal) < identifier) )) (compound_statement "{\n              lVar24 = 2;\n            }" { (expression_statement "lVar24 = 2;" (assignment_expression "lVar24 = 2" identifier = number_literal) ;) }) (else_clause "else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;" else (if_statement "if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;" if (parenthesized_expression "((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))" ( (binary_expression "(pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U)" (parenthesized_expression "(pcVar22 <= pcVar18)" ( (binary_expression "pcVar22 <= pcVar18" identifier <= identifier) )) || (parenthesized_expression "(lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U)" ( (comma_expression "lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U" (assignment_expression "lVar24 = (long)pcVar22 - (long)pcVar18" identifier = (binary_expression "(long)pcVar22 - (long)pcVar18" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "7 < (int)lVar24 - 1U" number_literal < (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal))) ))) )) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)))) (expression_statement "iVar9 = (*DAT_00196f88)(pcVar18,lVar24);" (assignment_expression "iVar9 = (*DAT_00196f88)(pcVar18,lVar24)" identifier = (call_expression "(*DAT_00196f88)(pcVar18,lVar24)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar18,lVar24)" ( identifier , identifier )))) ;) (if_statement "if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }" if (parenthesized_expression "(iVar9 - 2U < 3)" ( (binary_expression "iVar9 - 2U < 3" (binary_expression "iVar9 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }" { (expression_statement "lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;" (assignment_expression "lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2" identifier = (binary_expression "(ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2" (binary_expression "(ulong)(iVar9 == 4) + (ulong)(iVar7 + 1)" (call_expression "(ulong)(iVar9 == 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar9 == 4)" ( (binary_expression "iVar9 == 4" identifier == number_literal) ))) + (call_expression "(ulong)(iVar7 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar25 = pcVar18 + lVar24 + 3;" (assignment_expression "pcVar25 = pcVar18 + lVar24 + 3" identifier = (binary_expression "pcVar18 + lVar24 + 3" (binary_expression "pcVar18 + lVar24" identifier + identifier) + number_literal)) ;) (if_statement "if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;" if (parenthesized_expression "(pcVar18 + lVar24 + 4 < pcVar22)" ( (binary_expression "pcVar18 + lVar24 + 4 < pcVar22" (binary_expression "pcVar18 + lVar24 + 4" (binary_expression "pcVar18 + lVar24" identifier + identifier) + number_literal) < identifier) )) (compound_statement "{\n                lVar27 = 1;\n              }" { (expression_statement "lVar27 = 1;" (assignment_expression "lVar27 = 1" identifier = number_literal) ;) }) (else_clause "else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;" else (if_statement "if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;" if (parenthesized_expression "((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))" ( (binary_expression "(pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U)" (parenthesized_expression "(pcVar22 <= pcVar25)" ( (binary_expression "pcVar22 <= pcVar25" identifier <= identifier) )) || (parenthesized_expression "(lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U)" ( (comma_expression "lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U" (assignment_expression "lVar27 = (long)pcVar22 - (long)pcVar25" identifier = (binary_expression "(long)pcVar22 - (long)pcVar25" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "7 < (int)lVar27 - 1U" number_literal < (binary_expression "(int)lVar27 - 1U" (cast_expression "(int)lVar27" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal))) ))) )) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)))) (expression_statement "iVar7 = (*DAT_00196f88)(pcVar25,lVar27);" (assignment_expression "iVar7 = (*DAT_00196f88)(pcVar25,lVar27)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,lVar27)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,lVar27)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }" { (expression_statement "local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);" (assignment_expression "local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1)" identifier = (binary_expression "pcVar18 + lVar24 + 4 + (iVar7 - 1)" (binary_expression "pcVar18 + lVar24 + 4" (binary_expression "pcVar18 + lVar24" identifier + identifier) + number_literal) + (parenthesized_expression "(iVar7 - 1)" ( (binary_expression "iVar7 - 1" identifier - number_literal) )))) ;) (for_statement "for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }" for ( (assignment_expression "pcVar25 = local_890" identifier = identifier) ; (binary_expression "pcVar25 < pcVar22" identifier < identifier) ; (assignment_expression "pcVar25 = pcVar25 + sVar17 + 1" identifier = (binary_expression "pcVar25 + sVar17 + 1" (binary_expression "pcVar25 + sVar17" identifier + identifier) + number_literal)) ) (compound_statement "{\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }" { (if_statement "if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }" if (parenthesized_expression "(*pcVar25 == '\0')" ( (binary_expression "*pcVar25 == '\0'" (pointer_expression "*pcVar25" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }" { (expression_statement "pcVar31 = pcVar25 + 1;" (assignment_expression "pcVar31 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }" if (parenthesized_expression "(pcVar31 < pcVar22)" ( (binary_expression "pcVar31 < pcVar22" identifier < identifier) )) (compound_statement "{\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }" { (expression_statement "cVar4 = pcVar25[1];" (assignment_expression "cVar4 = pcVar25[1]" identifier = (subscript_expression "pcVar25[1]" identifier [ number_literal ])) ;) (if_statement "if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;" if (parenthesized_expression "((uVar30 == 1) || (cVar4 == '\0'))" ( (binary_expression "(uVar30 == 1) || (cVar4 == '\0')" (parenthesized_expression "(uVar30 == 1)" ( (binary_expression "uVar30 == 1" identifier == number_literal) )) || (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00148eec;" goto statement_identifier ;)) (goto_statement "goto LAB_00148d9d;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);" (assignment_expression "sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25)" identifier = (call_expression "strnlen(pcVar25,(long)pcVar22 - (long)pcVar25)" identifier (argument_list "(pcVar25,(long)pcVar22 - (long)pcVar25)" ( identifier , (binary_expression "(long)pcVar22 - (long)pcVar25" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) })) })) })) }))) })) }))) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)) (case_statement "case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;" case number_literal : (expression_statement "pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACRO_end_file\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACRO_end_file\n",5)" identifier (argument_list "(0," DW_MACRO_end_file\n",5)" ( number_literal , (string_literal "" DW_MACRO_end_file\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25);" (call_expression "printf(pcVar25)" identifier (argument_list "(pcVar25)" ( identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" identifier = (binary_expression "pcVar25 + uVar29" identifier + identifier)) ;) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" if (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" ( (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" ( (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" identifier = (binary_expression "iVar3 - (int)pcVar25" identifier - (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" { (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "uVar11 = FUN_0013e880(uVar11);" (assignment_expression "uVar11 = FUN_0013e880(uVar11)" identifier = (call_expression "FUN_0013e880(uVar11)" identifier (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";" (assignment_expression "pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACRO_define_strp - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0014857d;" goto statement_identifier ;)) (case_statement "case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" identifier = (binary_expression "pcVar25 + uVar29" identifier + identifier)) ;) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" if (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" ( (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" ( (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" identifier = (binary_expression "iVar3 - (int)pcVar25" identifier - (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" { (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "uVar11 = FUN_0013e880(uVar11);" (assignment_expression "uVar11 = FUN_0013e880(uVar11)" identifier = (call_expression "FUN_0013e880(uVar11)" identifier (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";" (assignment_expression "pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACRO_undef_strp - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0014857d;" goto statement_identifier ;)) (case_statement "case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;" case number_literal : (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" identifier = (binary_expression "pcVar25 + uVar29" identifier + identifier)) ;) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" if (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" ( (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" ( (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" identifier = (binary_expression "iVar3 - (int)pcVar25" identifier - (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" { (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";" (assignment_expression "pcVar25 = " DW_MACRO_import - offset : 0x%lx\n"" identifier = (string_literal "" DW_MACRO_import - offset : 0x%lx\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_001484c9;" goto statement_identifier ;)) (case_statement "case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" identifier = (binary_expression "pcVar25 + uVar29" identifier + identifier)) ;) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" if (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" ( (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" ( (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" identifier = (binary_expression "iVar3 - (int)pcVar25" identifier - (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" { (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";" (assignment_expression "pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n"" identifier = (string_literal "" DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0014857d;" goto statement_identifier ;)) (case_statement "case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" identifier = (binary_expression "pcVar25 + uVar29" identifier + identifier)) ;) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" if (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" ( (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" ( (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" identifier = (binary_expression "iVar3 - (int)pcVar25" identifier - (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" { (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";" (assignment_expression "pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n"" identifier = (string_literal "" DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);" statement_identifier : (expression_statement "pcVar25 = (char *)dcgettext(0,pcVar25,5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,pcVar25,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar25,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar25,5)" identifier (argument_list "(0,pcVar25,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar25,uVar26 & 0xffffffff,uVar11);" (call_expression "printf(pcVar25,uVar26 & 0xffffffff,uVar11)" identifier (argument_list "(pcVar25,uVar26 & 0xffffffff,uVar11)" ( identifier , (binary_expression "uVar26 & 0xffffffff" identifier & number_literal) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);" case number_literal : (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" identifier = (binary_expression "pcVar25 + uVar29" identifier + identifier)) ;) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" if (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" ( (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" ( (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" identifier = (binary_expression "iVar3 - (int)pcVar25" identifier - (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" { (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";" (assignment_expression "pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n"" identifier = (string_literal "" DW_MACRO_import_sup - offset : 0x%lx\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);" statement_identifier : (expression_statement "pcVar25 = (char *)dcgettext(0,pcVar25,5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,pcVar25,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar25,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar25,5)" identifier (argument_list "(0,pcVar25,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar25,uVar11);" (call_expression "printf(pcVar25,uVar11)" identifier (argument_list "(pcVar25,uVar11)" ( identifier , identifier ))) ;)) })) (goto_statement "goto LAB_001484e0;" goto statement_identifier ;) })) (goto_statement "goto LAB_0014818e;" goto statement_identifier ;) (while_statement "while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }" while (parenthesized_expression "((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1)))" ( (parenthesized_expression "(cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))" ( (comma_expression "cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1)" (assignment_expression "cVar4 = *pcVar31" identifier = (pointer_expression "*pcVar31" * identifier)) , (binary_expression "cVar4 != '\0' && (uVar30 != 1)" (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(uVar30 != 1)" ( (binary_expression "uVar30 != 1" identifier != number_literal) )))) )) )) (compound_statement "{\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }" { (labeled_statement "LAB_00148d9d:\n    uVar30 = uVar30 - 1;" statement_identifier : (expression_statement "uVar30 = uVar30 - 1;" (assignment_expression "uVar30 = uVar30 - 1" identifier = (binary_expression "uVar30 - 1" identifier - number_literal)) ;)) (expression_statement "sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);" (assignment_expression "sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31)" identifier = (call_expression "strnlen(pcVar31,(long)pcVar22 - (long)pcVar31)" identifier (argument_list "(pcVar31,(long)pcVar22 - (long)pcVar31)" ( identifier , (binary_expression "(long)pcVar22 - (long)pcVar31" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar31" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "pcVar31 = pcVar31 + sVar17 + 1;" (assignment_expression "pcVar31 = pcVar31 + sVar17 + 1" identifier = (binary_expression "pcVar31 + sVar17 + 1" (binary_expression "pcVar31 + sVar17" identifier + identifier) + number_literal)) ;) (expression_statement "FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);" (call_expression "FUN_0013fb20(pcVar31,&local_83c,0,pcVar22)" identifier (argument_list "(pcVar31,&local_83c,0,pcVar22)" ( identifier , (pointer_expression "&local_83c" & identifier) , number_literal , identifier ))) ;) (expression_statement "pcVar31 = pcVar31 + local_83c;" (assignment_expression "pcVar31 = pcVar31 + local_83c" identifier = (binary_expression "pcVar31 + local_83c" identifier + identifier)) ;) (expression_statement "FUN_0013fb20(pcVar31);" (call_expression "FUN_0013fb20(pcVar31)" identifier (argument_list "(pcVar31)" ( identifier ))) ;) (expression_statement "uVar16 = (ulong)local_83c;" (assignment_expression "uVar16 = (ulong)local_83c" identifier = (cast_expression "(ulong)local_83c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "FUN_0013fb20(pcVar31 + uVar16);" (call_expression "FUN_0013fb20(pcVar31 + uVar16)" identifier (argument_list "(pcVar31 + uVar16)" ( (binary_expression "pcVar31 + uVar16" identifier + identifier) ))) ;) (expression_statement "pcVar31 = pcVar31 + uVar16 + local_83c;" (assignment_expression "pcVar31 = pcVar31 + uVar16 + local_83c" identifier = (binary_expression "pcVar31 + uVar16 + local_83c" (binary_expression "pcVar31 + uVar16" identifier + identifier) + identifier)) ;) (if_statement "if (pcVar22 <= pcVar31) goto LAB_0014879b;" if (parenthesized_expression "(pcVar22 <= pcVar31)" ( (binary_expression "pcVar22 <= pcVar31" identifier <= identifier) )) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)) })) (labeled_statement "LAB_00148eec:\n  if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }" statement_identifier : (if_statement "if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }" { (expression_statement "sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);" (assignment_expression "sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31)" identifier = (call_expression "strnlen(pcVar31,(long)pcVar22 - (long)pcVar31)" identifier (argument_list "(pcVar31,(long)pcVar22 - (long)pcVar31)" ( identifier , (binary_expression "(long)pcVar22 - (long)pcVar31" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar31" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (if_statement "if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }" if (parenthesized_expression "(pcVar31 + sVar17 + 1 < pcVar22)" ( (binary_expression "pcVar31 + sVar17 + 1 < pcVar22" (binary_expression "pcVar31 + sVar17 + 1" (binary_expression "pcVar31 + sVar17" identifier + identifier) + number_literal) < identifier) )) (compound_statement "{\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }" { (expression_statement "uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);" (assignment_expression "uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22)" identifier = (call_expression "FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22)" identifier (argument_list "(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22)" ( (binary_expression "pcVar31 + sVar17 + 1" (binary_expression "pcVar31 + sVar17" identifier + identifier) + number_literal) , (pointer_expression "&local_83c" & identifier) , number_literal , identifier )))) ;) (if_statement "if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }" if (parenthesized_expression "(uVar30 == 0)" ( (binary_expression "uVar30 == 0" identifier == number_literal) )) (compound_statement "{\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }" { (expression_statement "local_890 = "";" (assignment_expression "local_890 = """ identifier = (string_literal """" " ")) ;) (expression_statement "puVar23 = &DAT_00169c35;" (assignment_expression "puVar23 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (labeled_statement "LAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);" statement_identifier : (expression_statement "pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5)" identifier (argument_list "(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5)" ( number_literal , (string_literal "" DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);" (call_expression "printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31)" identifier (argument_list "(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31)" ( identifier , (binary_expression "uVar26 & 0xffffffff" identifier & number_literal) , (binary_expression "uVar15 & 0xffffffff" identifier & number_literal) , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_001484e0;" goto statement_identifier ;) })) (do_statement "do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);" do (compound_statement "{\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      }" { (if_statement "if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }" if (parenthesized_expression "((*local_890 == '\0') || (uVar30 < 2))" ( (binary_expression "(*local_890 == '\0') || (uVar30 < 2)" (parenthesized_expression "(*local_890 == '\0')" ( (binary_expression "*local_890 == '\0'" (pointer_expression "*local_890" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(uVar30 < 2)" ( (binary_expression "uVar30 < 2" identifier < number_literal) ))) )) (compound_statement "{\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }" { (if_statement "if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;" if (parenthesized_expression "((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))" ( (binary_expression "(local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0')" (parenthesized_expression "(local_890 < pcVar22)" ( (binary_expression "local_890 < pcVar22" identifier < identifier) )) && (parenthesized_expression "(puVar23 = &DAT_0016ae1e, *local_890 != '\0')" ( (comma_expression "puVar23 = &DAT_0016ae1e, *local_890 != '\0'" (assignment_expression "puVar23 = &DAT_0016ae1e" identifier = (pointer_expression "&DAT_0016ae1e" & identifier)) , (binary_expression "*local_890 != '\0'" (pointer_expression "*local_890" * identifier) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_00148fc0;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "uVar30 = uVar30 - 1;" (assignment_expression "uVar30 = uVar30 - 1" identifier = (binary_expression "uVar30 - 1" identifier - number_literal)) ;) (expression_statement "sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);" (assignment_expression "sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890)" identifier = (call_expression "strnlen(local_890,(long)pcVar22 - (long)local_890)" identifier (argument_list "(local_890,(long)pcVar22 - (long)local_890)" ( identifier , (binary_expression "(long)pcVar22 - (long)local_890" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)local_890" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "local_890 = local_890 + sVar17 + 1;" (assignment_expression "local_890 = local_890 + sVar17 + 1" identifier = (binary_expression "local_890 + sVar17 + 1" (binary_expression "local_890 + sVar17" identifier + identifier) + number_literal)) ;) }) while (parenthesized_expression "(local_890 < pcVar22)" ( (binary_expression "local_890 < pcVar22" identifier < identifier) )) ;) })) }))) (labeled_statement "LAB_0014879b:\n  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);" statement_identifier : (expression_statement "pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" identifier (argument_list "(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" ( number_literal , (string_literal "" DW_MACRO_start_file - lineno: %d filenum: %d\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);" (call_expression "printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff)" identifier (argument_list "(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff)" ( identifier , (binary_expression "uVar26 & 0xffffffff" identifier & number_literal) , (binary_expression "uVar15 & 0xffffffff" identifier & number_literal) ))) ;) (labeled_statement "LAB_001484e0:\n  if (pcVar21 <= pcVar13) goto LAB_0014818e;" statement_identifier : (if_statement "if (pcVar21 <= pcVar13) goto LAB_0014818e;" if (parenthesized_expression "(pcVar21 <= pcVar13)" ( (binary_expression "pcVar21 <= pcVar13" identifier <= identifier) )) (goto_statement "goto LAB_0014818e;" goto statement_identifier ;))) (expression_statement "pcVar25 = pcVar13 + 1;" (assignment_expression "pcVar25 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar21 <= pcVar25) goto LAB_00148430;" if (parenthesized_expression "(pcVar21 <= pcVar25)" ( (binary_expression "pcVar21 <= pcVar25" identifier <= identifier) )) (goto_statement "goto LAB_00148430;" goto statement_identifier ;)) (labeled_statement "LAB_001484f6:\n  uVar6 = (*DAT_00196f88)(pcVar13,1);" statement_identifier : (expression_statement "uVar6 = (*DAT_00196f88)(pcVar13,1);" (assignment_expression "uVar6 = (*DAT_00196f88)(pcVar13,1)" identifier = (call_expression "(*DAT_00196f88)(pcVar13,1)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar13,1)" ( identifier , number_literal )))) ;)) (if_statement "if (uVar6 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    putchar(10);\n    goto LAB_0014807f;\n  }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (goto_statement "goto LAB_0014807f;" goto statement_identifier ;) })) (goto_statement "goto LAB_00148456;" goto statement_identifier ;) })))
(translation_unit "int display_debug_macro(dwarf_section *section,void *file)\n\n{\n  uint uVar1;\n  uchar *puVar2;\n  int iVar3;\n  uchar uVar4;\n  uint uVar5;\n  elf_vma eVar6;\n  char *pcVar7;\n  elf_vma eVar8;\n  elf_vma eVar9;\n  uchar **ppuVar10;\n  dwarf_vma dVar11;\n  ulong uVar12;\n  uchar *puVar13;\n  ulong uVar14;\n  size_t sVar15;\n  dwarf_vma dVar16;\n  long lVar17;\n  uchar *puVar18;\n  dwarf_section *section_1;\n  ulong uVar19;\n  ulong uVar20;\n  uchar *end;\n  uchar *end_00;\n  dwarf_vma dVar21;\n  undefined1 *puVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  char *pcVar26;\n  uint *puVar27;\n  uint uVar28;\n  uchar *puVar29;\n  uchar *puVar30;\n  byte bVar31;\n  uchar *local_890;\n  elf_vma local_878;\n  uchar **local_868;\n  uint bytes_read;\n  uint bytes_read_1;\n  uchar *extended_op_buf [256];\n  \n  bVar31 = 0;\n  puVar2 = section->start;\n  end = puVar2 + section->size;\n  load_debug_section_with_follow(str,file);\n  load_debug_section_with_follow(line,file);\n  introduce((dwarf_section *)section->name,(int)section + 0x18,section_1);\n  puVar13 = puVar2;\n  if (end <= puVar2) {\n    return 1;\n  }\nLAB_0014807f:\n  puVar29 = puVar13 + 2;\n  iVar3 = (int)end;\n  if (puVar29 < end) {\n    iVar24 = 2;\n  }\n  else {\n    iVar24 = iVar3 - (int)puVar13;\n    if (7 < iVar24 - 1U) goto LAB_0014809e;\n  }\n  eVar6 = (*byte_get)(puVar13,iVar24);\n  if (1 < (int)eVar6 - 4U) {\nLAB_0014809e:\n    pcVar26 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    pcVar7 = section->name;\nLAB_001480b3:\n    pcVar26 = (char *)dcgettext(0,pcVar26,5);\n    error(pcVar26,pcVar7);\n    return 0;\n  }\n  puVar30 = puVar13 + 3;\n  if (end <= puVar30) {\n    if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_001481bd;\n    pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar7,(long)puVar13 - (long)puVar2);\n    pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar7,eVar6 & 0xffffffff);\n    pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar7,4);\n    goto LAB_00148184;\n  }\n  iVar24 = 1;\nLAB_001481bd:\n  eVar8 = (*byte_get)(puVar29,iVar24);\n  uVar28 = (-(uint)((eVar8 & 1) == 0) & 0xfffffffc) + 8;\n  pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n  printf(pcVar7,(long)puVar13 - (long)puVar2);\n  pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n  printf(pcVar7,eVar6 & 0xffffffff);\n  pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n  printf(pcVar7,(ulong)uVar28);\n  if ((eVar8 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar5 = uVar28;\n    if ((puVar30 + uVar28 < end) ||\n       ((local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)))) {\n      local_878 = (*byte_get)(puVar30,uVar5);\n    }\n    pcVar7 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar7,local_878);\n    puVar30 = puVar30 + uVar28;\n  }\n  if ((eVar8 & 4) == 0) {\n    local_868 = (uchar **)0x0;\n    puVar29 = puVar30;\n  }\n  else {\n    puVar29 = puVar30 + 1;\n    if (end <= puVar29) {\n      if ((puVar30 < end) && (iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8)) {\n        eVar9 = (*byte_get)(puVar30,iVar24);\n        uVar5 = (uint)eVar9;\n        ppuVar10 = extended_op_buf;\n        for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n          *ppuVar10 = (uchar *)0x0;\n          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n        }\n        if (uVar5 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      pcVar7 = (char *)dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(pcVar7);\n      return 0;\n    }\n    local_868 = extended_op_buf;\n    eVar9 = (*byte_get)(puVar30,1);\n    uVar5 = (uint)eVar9;\n    ppuVar10 = local_868;\n    for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n      *ppuVar10 = (uchar *)0x0;\n      ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n    }\n    if (uVar5 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = extended_op_buf;\n    pcVar7 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar7);\n    uVar1 = 0;\n    do {\n      puVar13 = puVar29 + 1;\n      if (puVar13 < end) {\n        iVar24 = 1;\nLAB_00148b15:\n        eVar9 = (*byte_get)(puVar29,iVar24);\n        uVar12 = eVar9 & 0xffffffff;\n        ppuVar10 = local_868 + (eVar9 & 0xffffffff);\n      }\n      else {\n        if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;\n        uVar12 = 0;\n        ppuVar10 = local_868;\n      }\n      *ppuVar10 = puVar13;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar29 = puVar13 + bytes_read;\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar7,uVar12);\n      }\n      else {\n        dVar21 = 0;\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar7,uVar12);\n        puVar13 = puVar29;\n        do {\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        } while (dVar21 != dVar11);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar5);\n  }\n  putchar(10);\n  if (puVar29 < end) {\nLAB_0014840e:\n    puVar13 = puVar29 + 1;\n    if (puVar13 < end) goto LAB_001484f6;\nLAB_00148430:\n    iVar24 = iVar3 - (int)puVar29;\n    if ((7 < iVar24 - 1U) || (uVar12 = (*byte_get)(puVar29,iVar24), (int)uVar12 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar14 = uVar12 & 0xffffffff;\n    puVar29 = puVar13;\n    switch(uVar14) {\n    default:\n      if ((local_868 == (uchar **)0x0) ||\n         (puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0)) {\n        pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(pcVar7,uVar14);\n        return 0;\n      }\n      dVar11 = read_leb128(puVar30,&bytes_read,0,end);\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar7,uVar14);\n      }\n      else {\n        puVar30 = puVar30 + bytes_read;\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar7);\n        puVar29 = puVar30;\n        do {\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        } while (puVar18 != puVar30 + dVar11);\n        putchar(10);\n        puVar29 = puVar13;\n      }\n      break;\n    case 1:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\n      goto LAB_00148802;\n    case 2:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\nLAB_00148802:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar13);\n      break;\n    case 3:\n      puVar27 = &bytes_read;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      uVar12 = (ulong)bytes_read;\n      dVar21 = read_leb128(puVar13 + uVar12,puVar27,0,end);\n      puVar29 = puVar13 + uVar12 + bytes_read;\n      if ((eVar8 & 2) == 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5);\n        error(pcVar7);\n      }\n      else {\n        uVar12 = dVar21 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar7 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar7);\n      break;\n    case 5:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar30);\n      break;\n    case 10:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,eVar9);\n    }\n    goto LAB_001484e0;\n  }\n  goto LAB_0014818e;\n  while ((uVar4 = *puVar30, uVar4 != '\0' && (uVar12 != 1))) {\nLAB_00148d9d:\n    uVar12 = uVar12 - 1;\n    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);\n    puVar30 = puVar30 + sVar15 + 1;\n    puVar27 = &bytes_read_1;\n    read_leb128(puVar30,&bytes_read_1,0,end_00);\n    puVar30 = puVar30 + bytes_read_1;\n    read_leb128(puVar30,puVar27,0,end_00);\n    uVar14 = (ulong)bytes_read_1;\n    read_leb128(puVar30 + uVar14,puVar27,0,end_00);\n    puVar30 = puVar30 + uVar14 + bytes_read_1;\n    if (end_00 <= puVar30) goto LAB_0014879b;\n  }\nLAB_00148eec:\n  if (uVar4 != '\0') {\n    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);\n    if (puVar30 + sVar15 + 1 < end_00) {\n      dVar16 = read_leb128(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00);\n      if (dVar16 == 0) {\n        local_890 = "";\n        puVar22 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5);\n        printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (dVar16 < 2)) {\n          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        dVar16 = dVar16 - 1;\n        sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890);\n        local_890 = local_890 + sVar15 + 1;\n      } while (local_890 < end_00);\n    }\n  }\nLAB_0014879b:\n  pcVar7 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);\n  printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff);\nLAB_001484e0:\n  if (end <= puVar29) goto LAB_0014818e;\n  puVar13 = puVar29 + 1;\n  if (end <= puVar13) goto LAB_00148430;\nLAB_001484f6:\n  uVar12 = (*byte_get)(puVar29,1);\n  if ((int)uVar12 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }\n  goto LAB_00148456;\n}\n\n" (function_definition "int display_debug_macro(dwarf_section *section,void *file)\n\n{\n  uint uVar1;\n  uchar *puVar2;\n  int iVar3;\n  uchar uVar4;\n  uint uVar5;\n  elf_vma eVar6;\n  char *pcVar7;\n  elf_vma eVar8;\n  elf_vma eVar9;\n  uchar **ppuVar10;\n  dwarf_vma dVar11;\n  ulong uVar12;\n  uchar *puVar13;\n  ulong uVar14;\n  size_t sVar15;\n  dwarf_vma dVar16;\n  long lVar17;\n  uchar *puVar18;\n  dwarf_section *section_1;\n  ulong uVar19;\n  ulong uVar20;\n  uchar *end;\n  uchar *end_00;\n  dwarf_vma dVar21;\n  undefined1 *puVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  char *pcVar26;\n  uint *puVar27;\n  uint uVar28;\n  uchar *puVar29;\n  uchar *puVar30;\n  byte bVar31;\n  uchar *local_890;\n  elf_vma local_878;\n  uchar **local_868;\n  uint bytes_read;\n  uint bytes_read_1;\n  uchar *extended_op_buf [256];\n  \n  bVar31 = 0;\n  puVar2 = section->start;\n  end = puVar2 + section->size;\n  load_debug_section_with_follow(str,file);\n  load_debug_section_with_follow(line,file);\n  introduce((dwarf_section *)section->name,(int)section + 0x18,section_1);\n  puVar13 = puVar2;\n  if (end <= puVar2) {\n    return 1;\n  }\nLAB_0014807f:\n  puVar29 = puVar13 + 2;\n  iVar3 = (int)end;\n  if (puVar29 < end) {\n    iVar24 = 2;\n  }\n  else {\n    iVar24 = iVar3 - (int)puVar13;\n    if (7 < iVar24 - 1U) goto LAB_0014809e;\n  }\n  eVar6 = (*byte_get)(puVar13,iVar24);\n  if (1 < (int)eVar6 - 4U) {\nLAB_0014809e:\n    pcVar26 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    pcVar7 = section->name;\nLAB_001480b3:\n    pcVar26 = (char *)dcgettext(0,pcVar26,5);\n    error(pcVar26,pcVar7);\n    return 0;\n  }\n  puVar30 = puVar13 + 3;\n  if (end <= puVar30) {\n    if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_001481bd;\n    pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar7,(long)puVar13 - (long)puVar2);\n    pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar7,eVar6 & 0xffffffff);\n    pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar7,4);\n    goto LAB_00148184;\n  }\n  iVar24 = 1;\nLAB_001481bd:\n  eVar8 = (*byte_get)(puVar29,iVar24);\n  uVar28 = (-(uint)((eVar8 & 1) == 0) & 0xfffffffc) + 8;\n  pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n  printf(pcVar7,(long)puVar13 - (long)puVar2);\n  pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n  printf(pcVar7,eVar6 & 0xffffffff);\n  pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n  printf(pcVar7,(ulong)uVar28);\n  if ((eVar8 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar5 = uVar28;\n    if ((puVar30 + uVar28 < end) ||\n       ((local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)))) {\n      local_878 = (*byte_get)(puVar30,uVar5);\n    }\n    pcVar7 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar7,local_878);\n    puVar30 = puVar30 + uVar28;\n  }\n  if ((eVar8 & 4) == 0) {\n    local_868 = (uchar **)0x0;\n    puVar29 = puVar30;\n  }\n  else {\n    puVar29 = puVar30 + 1;\n    if (end <= puVar29) {\n      if ((puVar30 < end) && (iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8)) {\n        eVar9 = (*byte_get)(puVar30,iVar24);\n        uVar5 = (uint)eVar9;\n        ppuVar10 = extended_op_buf;\n        for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n          *ppuVar10 = (uchar *)0x0;\n          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n        }\n        if (uVar5 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      pcVar7 = (char *)dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(pcVar7);\n      return 0;\n    }\n    local_868 = extended_op_buf;\n    eVar9 = (*byte_get)(puVar30,1);\n    uVar5 = (uint)eVar9;\n    ppuVar10 = local_868;\n    for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n      *ppuVar10 = (uchar *)0x0;\n      ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n    }\n    if (uVar5 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = extended_op_buf;\n    pcVar7 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar7);\n    uVar1 = 0;\n    do {\n      puVar13 = puVar29 + 1;\n      if (puVar13 < end) {\n        iVar24 = 1;\nLAB_00148b15:\n        eVar9 = (*byte_get)(puVar29,iVar24);\n        uVar12 = eVar9 & 0xffffffff;\n        ppuVar10 = local_868 + (eVar9 & 0xffffffff);\n      }\n      else {\n        if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;\n        uVar12 = 0;\n        ppuVar10 = local_868;\n      }\n      *ppuVar10 = puVar13;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar29 = puVar13 + bytes_read;\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar7,uVar12);\n      }\n      else {\n        dVar21 = 0;\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar7,uVar12);\n        puVar13 = puVar29;\n        do {\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        } while (dVar21 != dVar11);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar5);\n  }\n  putchar(10);\n  if (puVar29 < end) {\nLAB_0014840e:\n    puVar13 = puVar29 + 1;\n    if (puVar13 < end) goto LAB_001484f6;\nLAB_00148430:\n    iVar24 = iVar3 - (int)puVar29;\n    if ((7 < iVar24 - 1U) || (uVar12 = (*byte_get)(puVar29,iVar24), (int)uVar12 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar14 = uVar12 & 0xffffffff;\n    puVar29 = puVar13;\n    switch(uVar14) {\n    default:\n      if ((local_868 == (uchar **)0x0) ||\n         (puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0)) {\n        pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(pcVar7,uVar14);\n        return 0;\n      }\n      dVar11 = read_leb128(puVar30,&bytes_read,0,end);\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar7,uVar14);\n      }\n      else {\n        puVar30 = puVar30 + bytes_read;\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar7);\n        puVar29 = puVar30;\n        do {\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        } while (puVar18 != puVar30 + dVar11);\n        putchar(10);\n        puVar29 = puVar13;\n      }\n      break;\n    case 1:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\n      goto LAB_00148802;\n    case 2:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\nLAB_00148802:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar13);\n      break;\n    case 3:\n      puVar27 = &bytes_read;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      uVar12 = (ulong)bytes_read;\n      dVar21 = read_leb128(puVar13 + uVar12,puVar27,0,end);\n      puVar29 = puVar13 + uVar12 + bytes_read;\n      if ((eVar8 & 2) == 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5);\n        error(pcVar7);\n      }\n      else {\n        uVar12 = dVar21 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar7 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar7);\n      break;\n    case 5:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar30);\n      break;\n    case 10:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,eVar9);\n    }\n    goto LAB_001484e0;\n  }\n  goto LAB_0014818e;\n  while ((uVar4 = *puVar30, uVar4 != '\0' && (uVar12 != 1))) {\nLAB_00148d9d:\n    uVar12 = uVar12 - 1;\n    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);\n    puVar30 = puVar30 + sVar15 + 1;\n    puVar27 = &bytes_read_1;\n    read_leb128(puVar30,&bytes_read_1,0,end_00);\n    puVar30 = puVar30 + bytes_read_1;\n    read_leb128(puVar30,puVar27,0,end_00);\n    uVar14 = (ulong)bytes_read_1;\n    read_leb128(puVar30 + uVar14,puVar27,0,end_00);\n    puVar30 = puVar30 + uVar14 + bytes_read_1;\n    if (end_00 <= puVar30) goto LAB_0014879b;\n  }\nLAB_00148eec:\n  if (uVar4 != '\0') {\n    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);\n    if (puVar30 + sVar15 + 1 < end_00) {\n      dVar16 = read_leb128(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00);\n      if (dVar16 == 0) {\n        local_890 = "";\n        puVar22 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5);\n        printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (dVar16 < 2)) {\n          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        dVar16 = dVar16 - 1;\n        sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890);\n        local_890 = local_890 + sVar15 + 1;\n      } while (local_890 < end_00);\n    }\n  }\nLAB_0014879b:\n  pcVar7 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);\n  printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff);\nLAB_001484e0:\n  if (end <= puVar29) goto LAB_0014818e;\n  puVar13 = puVar29 + 1;\n  if (end <= puVar13) goto LAB_00148430;\nLAB_001484f6:\n  uVar12 = (*byte_get)(puVar29,1);\n  if ((int)uVar12 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }\n  goto LAB_00148456;\n}" primitive_type (function_declarator "display_debug_macro(dwarf_section *section,void *file)" identifier (parameter_list "(dwarf_section *section,void *file)" ( (parameter_declaration "dwarf_section *section" type_identifier (pointer_declarator "*section" * identifier)) , (parameter_declaration "void *file" primitive_type (pointer_declarator "*file" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uchar *puVar2;\n  int iVar3;\n  uchar uVar4;\n  uint uVar5;\n  elf_vma eVar6;\n  char *pcVar7;\n  elf_vma eVar8;\n  elf_vma eVar9;\n  uchar **ppuVar10;\n  dwarf_vma dVar11;\n  ulong uVar12;\n  uchar *puVar13;\n  ulong uVar14;\n  size_t sVar15;\n  dwarf_vma dVar16;\n  long lVar17;\n  uchar *puVar18;\n  dwarf_section *section_1;\n  ulong uVar19;\n  ulong uVar20;\n  uchar *end;\n  uchar *end_00;\n  dwarf_vma dVar21;\n  undefined1 *puVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  char *pcVar26;\n  uint *puVar27;\n  uint uVar28;\n  uchar *puVar29;\n  uchar *puVar30;\n  byte bVar31;\n  uchar *local_890;\n  elf_vma local_878;\n  uchar **local_868;\n  uint bytes_read;\n  uint bytes_read_1;\n  uchar *extended_op_buf [256];\n  \n  bVar31 = 0;\n  puVar2 = section->start;\n  end = puVar2 + section->size;\n  load_debug_section_with_follow(str,file);\n  load_debug_section_with_follow(line,file);\n  introduce((dwarf_section *)section->name,(int)section + 0x18,section_1);\n  puVar13 = puVar2;\n  if (end <= puVar2) {\n    return 1;\n  }\nLAB_0014807f:\n  puVar29 = puVar13 + 2;\n  iVar3 = (int)end;\n  if (puVar29 < end) {\n    iVar24 = 2;\n  }\n  else {\n    iVar24 = iVar3 - (int)puVar13;\n    if (7 < iVar24 - 1U) goto LAB_0014809e;\n  }\n  eVar6 = (*byte_get)(puVar13,iVar24);\n  if (1 < (int)eVar6 - 4U) {\nLAB_0014809e:\n    pcVar26 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    pcVar7 = section->name;\nLAB_001480b3:\n    pcVar26 = (char *)dcgettext(0,pcVar26,5);\n    error(pcVar26,pcVar7);\n    return 0;\n  }\n  puVar30 = puVar13 + 3;\n  if (end <= puVar30) {\n    if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_001481bd;\n    pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar7,(long)puVar13 - (long)puVar2);\n    pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar7,eVar6 & 0xffffffff);\n    pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar7,4);\n    goto LAB_00148184;\n  }\n  iVar24 = 1;\nLAB_001481bd:\n  eVar8 = (*byte_get)(puVar29,iVar24);\n  uVar28 = (-(uint)((eVar8 & 1) == 0) & 0xfffffffc) + 8;\n  pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n  printf(pcVar7,(long)puVar13 - (long)puVar2);\n  pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n  printf(pcVar7,eVar6 & 0xffffffff);\n  pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n  printf(pcVar7,(ulong)uVar28);\n  if ((eVar8 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar5 = uVar28;\n    if ((puVar30 + uVar28 < end) ||\n       ((local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)))) {\n      local_878 = (*byte_get)(puVar30,uVar5);\n    }\n    pcVar7 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar7,local_878);\n    puVar30 = puVar30 + uVar28;\n  }\n  if ((eVar8 & 4) == 0) {\n    local_868 = (uchar **)0x0;\n    puVar29 = puVar30;\n  }\n  else {\n    puVar29 = puVar30 + 1;\n    if (end <= puVar29) {\n      if ((puVar30 < end) && (iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8)) {\n        eVar9 = (*byte_get)(puVar30,iVar24);\n        uVar5 = (uint)eVar9;\n        ppuVar10 = extended_op_buf;\n        for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n          *ppuVar10 = (uchar *)0x0;\n          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n        }\n        if (uVar5 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      pcVar7 = (char *)dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(pcVar7);\n      return 0;\n    }\n    local_868 = extended_op_buf;\n    eVar9 = (*byte_get)(puVar30,1);\n    uVar5 = (uint)eVar9;\n    ppuVar10 = local_868;\n    for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n      *ppuVar10 = (uchar *)0x0;\n      ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n    }\n    if (uVar5 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = extended_op_buf;\n    pcVar7 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar7);\n    uVar1 = 0;\n    do {\n      puVar13 = puVar29 + 1;\n      if (puVar13 < end) {\n        iVar24 = 1;\nLAB_00148b15:\n        eVar9 = (*byte_get)(puVar29,iVar24);\n        uVar12 = eVar9 & 0xffffffff;\n        ppuVar10 = local_868 + (eVar9 & 0xffffffff);\n      }\n      else {\n        if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;\n        uVar12 = 0;\n        ppuVar10 = local_868;\n      }\n      *ppuVar10 = puVar13;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar29 = puVar13 + bytes_read;\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar7,uVar12);\n      }\n      else {\n        dVar21 = 0;\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar7,uVar12);\n        puVar13 = puVar29;\n        do {\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        } while (dVar21 != dVar11);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar5);\n  }\n  putchar(10);\n  if (puVar29 < end) {\nLAB_0014840e:\n    puVar13 = puVar29 + 1;\n    if (puVar13 < end) goto LAB_001484f6;\nLAB_00148430:\n    iVar24 = iVar3 - (int)puVar29;\n    if ((7 < iVar24 - 1U) || (uVar12 = (*byte_get)(puVar29,iVar24), (int)uVar12 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar14 = uVar12 & 0xffffffff;\n    puVar29 = puVar13;\n    switch(uVar14) {\n    default:\n      if ((local_868 == (uchar **)0x0) ||\n         (puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0)) {\n        pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(pcVar7,uVar14);\n        return 0;\n      }\n      dVar11 = read_leb128(puVar30,&bytes_read,0,end);\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar7,uVar14);\n      }\n      else {\n        puVar30 = puVar30 + bytes_read;\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar7);\n        puVar29 = puVar30;\n        do {\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        } while (puVar18 != puVar30 + dVar11);\n        putchar(10);\n        puVar29 = puVar13;\n      }\n      break;\n    case 1:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\n      goto LAB_00148802;\n    case 2:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\nLAB_00148802:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar13);\n      break;\n    case 3:\n      puVar27 = &bytes_read;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      uVar12 = (ulong)bytes_read;\n      dVar21 = read_leb128(puVar13 + uVar12,puVar27,0,end);\n      puVar29 = puVar13 + uVar12 + bytes_read;\n      if ((eVar8 & 2) == 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5);\n        error(pcVar7);\n      }\n      else {\n        uVar12 = dVar21 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar7 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar7);\n      break;\n    case 5:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar30);\n      break;\n    case 10:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,eVar9);\n    }\n    goto LAB_001484e0;\n  }\n  goto LAB_0014818e;\n  while ((uVar4 = *puVar30, uVar4 != '\0' && (uVar12 != 1))) {\nLAB_00148d9d:\n    uVar12 = uVar12 - 1;\n    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);\n    puVar30 = puVar30 + sVar15 + 1;\n    puVar27 = &bytes_read_1;\n    read_leb128(puVar30,&bytes_read_1,0,end_00);\n    puVar30 = puVar30 + bytes_read_1;\n    read_leb128(puVar30,puVar27,0,end_00);\n    uVar14 = (ulong)bytes_read_1;\n    read_leb128(puVar30 + uVar14,puVar27,0,end_00);\n    puVar30 = puVar30 + uVar14 + bytes_read_1;\n    if (end_00 <= puVar30) goto LAB_0014879b;\n  }\nLAB_00148eec:\n  if (uVar4 != '\0') {\n    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);\n    if (puVar30 + sVar15 + 1 < end_00) {\n      dVar16 = read_leb128(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00);\n      if (dVar16 == 0) {\n        local_890 = "";\n        puVar22 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5);\n        printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (dVar16 < 2)) {\n          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        dVar16 = dVar16 - 1;\n        sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890);\n        local_890 = local_890 + sVar15 + 1;\n      } while (local_890 < end_00);\n    }\n  }\nLAB_0014879b:\n  pcVar7 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);\n  printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff);\nLAB_001484e0:\n  if (end <= puVar29) goto LAB_0014818e;\n  puVar13 = puVar29 + 1;\n  if (end <= puVar13) goto LAB_00148430;\nLAB_001484f6:\n  uVar12 = (*byte_get)(puVar29,1);\n  if ((int)uVar12 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }\n  goto LAB_00148456;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uchar *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uchar uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "elf_vma eVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "elf_vma eVar8;" type_identifier identifier ;) (declaration "elf_vma eVar9;" type_identifier identifier ;) (declaration "uchar **ppuVar10;" type_identifier (pointer_declarator "**ppuVar10" * (pointer_declarator "*ppuVar10" * identifier)) ;) (declaration "dwarf_vma dVar11;" type_identifier identifier ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "uchar *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "size_t sVar15;" primitive_type identifier ;) (declaration "dwarf_vma dVar16;" type_identifier identifier ;) (declaration "long lVar17;" (sized_type_specifier "long" long) identifier ;) (declaration "uchar *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "dwarf_section *section_1;" type_identifier (pointer_declarator "*section_1" * identifier) ;) (declaration "ulong uVar19;" type_identifier identifier ;) (declaration "ulong uVar20;" type_identifier identifier ;) (declaration "uchar *end;" type_identifier (pointer_declarator "*end" * identifier) ;) (declaration "uchar *end_00;" type_identifier (pointer_declarator "*end_00" * identifier) ;) (declaration "dwarf_vma dVar21;" type_identifier identifier ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "char *pcVar26;" primitive_type (pointer_declarator "*pcVar26" * identifier) ;) (declaration "uint *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "uchar *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "uchar *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "byte bVar31;" type_identifier identifier ;) (declaration "uchar *local_890;" type_identifier (pointer_declarator "*local_890" * identifier) ;) (declaration "elf_vma local_878;" type_identifier identifier ;) (declaration "uchar **local_868;" type_identifier (pointer_declarator "**local_868" * (pointer_declarator "*local_868" * identifier)) ;) (declaration "uint bytes_read;" type_identifier identifier ;) (declaration "uint bytes_read_1;" type_identifier identifier ;) (declaration "uchar *extended_op_buf [256];" type_identifier (pointer_declarator "*extended_op_buf [256]" * (array_declarator "extended_op_buf [256]" identifier [ number_literal ])) ;) (expression_statement "bVar31 = 0;" (assignment_expression "bVar31 = 0" identifier = number_literal) ;) (expression_statement "puVar2 = section->start;" (assignment_expression "puVar2 = section->start" identifier = (field_expression "section->start" identifier -> field_identifier)) ;) (expression_statement "end = puVar2 + section->size;" (assignment_expression "end = puVar2 + section->size" identifier = (binary_expression "puVar2 + section->size" identifier + (field_expression "section->size" identifier -> field_identifier))) ;) (expression_statement "load_debug_section_with_follow(str,file);" (call_expression "load_debug_section_with_follow(str,file)" identifier (argument_list "(str,file)" ( identifier , identifier ))) ;) (expression_statement "load_debug_section_with_follow(line,file);" (call_expression "load_debug_section_with_follow(line,file)" identifier (argument_list "(line,file)" ( identifier , identifier ))) ;) (expression_statement "introduce((dwarf_section *)section->name,(int)section + 0x18,section_1);" (call_expression "introduce((dwarf_section *)section->name,(int)section + 0x18,section_1)" identifier (argument_list "((dwarf_section *)section->name,(int)section + 0x18,section_1)" ( (cast_expression "(dwarf_section *)section->name" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "section->name" identifier -> field_identifier)) , (binary_expression "(int)section + 0x18" (cast_expression "(int)section" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier ))) ;) (expression_statement "puVar13 = puVar2;" (assignment_expression "puVar13 = puVar2" identifier = identifier) ;) (if_statement "if (end <= puVar2) {\n    return 1;\n  }" if (parenthesized_expression "(end <= puVar2)" ( (binary_expression "end <= puVar2" identifier <= identifier) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_0014807f:\n  puVar29 = puVar13 + 2;" statement_identifier : (expression_statement "puVar29 = puVar13 + 2;" (assignment_expression "puVar29 = puVar13 + 2" identifier = (binary_expression "puVar13 + 2" identifier + number_literal)) ;)) (expression_statement "iVar3 = (int)end;" (assignment_expression "iVar3 = (int)end" identifier = (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (puVar29 < end) {\n    iVar24 = 2;\n  }\n  else {\n    iVar24 = iVar3 - (int)puVar13;\n    if (7 < iVar24 - 1U) goto LAB_0014809e;\n  }" if (parenthesized_expression "(puVar29 < end)" ( (binary_expression "puVar29 < end" identifier < identifier) )) (compound_statement "{\n    iVar24 = 2;\n  }" { (expression_statement "iVar24 = 2;" (assignment_expression "iVar24 = 2" identifier = number_literal) ;) }) (else_clause "else {\n    iVar24 = iVar3 - (int)puVar13;\n    if (7 < iVar24 - 1U) goto LAB_0014809e;\n  }" else (compound_statement "{\n    iVar24 = iVar3 - (int)puVar13;\n    if (7 < iVar24 - 1U) goto LAB_0014809e;\n  }" { (expression_statement "iVar24 = iVar3 - (int)puVar13;" (assignment_expression "iVar24 = iVar3 - (int)puVar13" identifier = (binary_expression "iVar3 - (int)puVar13" identifier - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (7 < iVar24 - 1U) goto LAB_0014809e;" if (parenthesized_expression "(7 < iVar24 - 1U)" ( (binary_expression "7 < iVar24 - 1U" number_literal < (binary_expression "iVar24 - 1U" identifier - number_literal)) )) (goto_statement "goto LAB_0014809e;" goto statement_identifier ;)) }))) (expression_statement "eVar6 = (*byte_get)(puVar13,iVar24);" (assignment_expression "eVar6 = (*byte_get)(puVar13,iVar24)" identifier = (call_expression "(*byte_get)(puVar13,iVar24)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar13,iVar24)" ( identifier , identifier )))) ;) (if_statement "if (1 < (int)eVar6 - 4U) {\nLAB_0014809e:\n    pcVar26 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    pcVar7 = section->name;\nLAB_001480b3:\n    pcVar26 = (char *)dcgettext(0,pcVar26,5);\n    error(pcVar26,pcVar7);\n    return 0;\n  }" if (parenthesized_expression "(1 < (int)eVar6 - 4U)" ( (binary_expression "1 < (int)eVar6 - 4U" number_literal < (binary_expression "(int)eVar6 - 4U" (cast_expression "(int)eVar6" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) )) (compound_statement "{\nLAB_0014809e:\n    pcVar26 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    pcVar7 = section->name;\nLAB_001480b3:\n    pcVar26 = (char *)dcgettext(0,pcVar26,5);\n    error(pcVar26,pcVar7);\n    return 0;\n  }" { (labeled_statement "LAB_0014809e:\n    pcVar26 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";" statement_identifier : (expression_statement "pcVar26 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";" (assignment_expression "pcVar26 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n"" identifier = (string_literal ""Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n"" " string_content escape_sequence ")) ;)) (expression_statement "pcVar7 = section->name;" (assignment_expression "pcVar7 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (labeled_statement "LAB_001480b3:\n    pcVar26 = (char *)dcgettext(0,pcVar26,5);" statement_identifier : (expression_statement "pcVar26 = (char *)dcgettext(0,pcVar26,5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,pcVar26,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar26,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar26,5)" identifier (argument_list "(0,pcVar26,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "error(pcVar26,pcVar7);" (call_expression "error(pcVar26,pcVar7)" identifier (argument_list "(pcVar26,pcVar7)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "puVar30 = puVar13 + 3;" (assignment_expression "puVar30 = puVar13 + 3" identifier = (binary_expression "puVar13 + 3" identifier + number_literal)) ;) (if_statement "if (end <= puVar30) {\n    if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_001481bd;\n    pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar7,(long)puVar13 - (long)puVar2);\n    pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar7,eVar6 & 0xffffffff);\n    pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar7,4);\n    goto LAB_00148184;\n  }" if (parenthesized_expression "(end <= puVar30)" ( (binary_expression "end <= puVar30" identifier <= identifier) )) (compound_statement "{\n    if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_001481bd;\n    pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar7,(long)puVar13 - (long)puVar2);\n    pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar7,eVar6 & 0xffffffff);\n    pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar7,4);\n    goto LAB_00148184;\n  }" { (if_statement "if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_001481bd;" if (parenthesized_expression "((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))" ( (binary_expression "(puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)" (parenthesized_expression "(puVar29 < end)" ( (binary_expression "puVar29 < end" identifier < identifier) )) && (parenthesized_expression "(iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)" ( (comma_expression "iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8" (assignment_expression "iVar24 = iVar3 - (int)puVar29" identifier = (binary_expression "iVar3 - (int)puVar29" identifier - (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar24 - 1U < 8" (binary_expression "iVar24 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_001481bd;" goto statement_identifier ;)) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset:                      0x%lx\n",5)" identifier (argument_list "(0,"  Offset:                      0x%lx\n",5)" ( number_literal , (string_literal ""  Offset:                      0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,(long)puVar13 - (long)puVar2);" (call_expression "printf(pcVar7,(long)puVar13 - (long)puVar2)" identifier (argument_list "(pcVar7,(long)puVar13 - (long)puVar2)" ( identifier , (binary_expression "(long)puVar13 - (long)puVar2" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version:                     %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version:                     %d\n",5)" identifier (argument_list "(0,"  Version:                     %d\n",5)" ( number_literal , (string_literal ""  Version:                     %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,eVar6 & 0xffffffff);" (call_expression "printf(pcVar7,eVar6 & 0xffffffff)" identifier (argument_list "(pcVar7,eVar6 & 0xffffffff)" ( identifier , (binary_expression "eVar6 & 0xffffffff" identifier & number_literal) ))) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset size:                 %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset size:                 %d\n",5)" identifier (argument_list "(0,"  Offset size:                 %d\n",5)" ( number_literal , (string_literal ""  Offset size:                 %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,4);" (call_expression "printf(pcVar7,4)" identifier (argument_list "(pcVar7,4)" ( identifier , number_literal ))) ;) (goto_statement "goto LAB_00148184;" goto statement_identifier ;) })) (expression_statement "iVar24 = 1;" (assignment_expression "iVar24 = 1" identifier = number_literal) ;) (labeled_statement "LAB_001481bd:\n  eVar8 = (*byte_get)(puVar29,iVar24);" statement_identifier : (expression_statement "eVar8 = (*byte_get)(puVar29,iVar24);" (assignment_expression "eVar8 = (*byte_get)(puVar29,iVar24)" identifier = (call_expression "(*byte_get)(puVar29,iVar24)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar29,iVar24)" ( identifier , identifier )))) ;)) (expression_statement "uVar28 = (-(uint)((eVar8 & 1) == 0) & 0xfffffffc) + 8;" (assignment_expression "uVar28 = (-(uint)((eVar8 & 1) == 0) & 0xfffffffc) + 8" identifier = (binary_expression "(-(uint)((eVar8 & 1) == 0) & 0xfffffffc) + 8" (parenthesized_expression "(-(uint)((eVar8 & 1) == 0) & 0xfffffffc)" ( (binary_expression "-(uint)((eVar8 & 1) == 0) & 0xfffffffc" (unary_expression "-(uint)((eVar8 & 1) == 0)" - (call_expression "(uint)((eVar8 & 1) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((eVar8 & 1) == 0)" ( (binary_expression "(eVar8 & 1) == 0" (parenthesized_expression "(eVar8 & 1)" ( (binary_expression "eVar8 & 1" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset:                      0x%lx\n",5)" identifier (argument_list "(0,"  Offset:                      0x%lx\n",5)" ( number_literal , (string_literal ""  Offset:                      0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,(long)puVar13 - (long)puVar2);" (call_expression "printf(pcVar7,(long)puVar13 - (long)puVar2)" identifier (argument_list "(pcVar7,(long)puVar13 - (long)puVar2)" ( identifier , (binary_expression "(long)puVar13 - (long)puVar2" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Version:                     %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version:                     %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version:                     %d\n",5)" identifier (argument_list "(0,"  Version:                     %d\n",5)" ( number_literal , (string_literal ""  Version:                     %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,eVar6 & 0xffffffff);" (call_expression "printf(pcVar7,eVar6 & 0xffffffff)" identifier (argument_list "(pcVar7,eVar6 & 0xffffffff)" ( identifier , (binary_expression "eVar6 & 0xffffffff" identifier & number_literal) ))) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Offset size:                 %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset size:                 %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset size:                 %d\n",5)" identifier (argument_list "(0,"  Offset size:                 %d\n",5)" ( number_literal , (string_literal ""  Offset size:                 %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,(ulong)uVar28);" (call_expression "printf(pcVar7,(ulong)uVar28)" identifier (argument_list "(pcVar7,(ulong)uVar28)" ( identifier , (cast_expression "(ulong)uVar28" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (if_statement "if ((eVar8 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar5 = uVar28;\n    if ((puVar30 + uVar28 < end) ||\n       ((local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)))) {\n      local_878 = (*byte_get)(puVar30,uVar5);\n    }\n    pcVar7 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar7,local_878);\n    puVar30 = puVar30 + uVar28;\n  }" if (parenthesized_expression "((eVar8 & 2) == 0)" ( (binary_expression "(eVar8 & 2) == 0" (parenthesized_expression "(eVar8 & 2)" ( (binary_expression "eVar8 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    local_878 = 0;\n  }" { (expression_statement "local_878 = 0;" (assignment_expression "local_878 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar5 = uVar28;\n    if ((puVar30 + uVar28 < end) ||\n       ((local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)))) {\n      local_878 = (*byte_get)(puVar30,uVar5);\n    }\n    pcVar7 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar7,local_878);\n    puVar30 = puVar30 + uVar28;\n  }" else (compound_statement "{\n    uVar5 = uVar28;\n    if ((puVar30 + uVar28 < end) ||\n       ((local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)))) {\n      local_878 = (*byte_get)(puVar30,uVar5);\n    }\n    pcVar7 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar7,local_878);\n    puVar30 = puVar30 + uVar28;\n  }" { (expression_statement "uVar5 = uVar28;" (assignment_expression "uVar5 = uVar28" identifier = identifier) ;) (if_statement "if ((puVar30 + uVar28 < end) ||\n       ((local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)))) {\n      local_878 = (*byte_get)(puVar30,uVar5);\n    }" if (parenthesized_expression "((puVar30 + uVar28 < end) ||\n       ((local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8))))" ( (binary_expression "(puVar30 + uVar28 < end) ||\n       ((local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)))" (parenthesized_expression "(puVar30 + uVar28 < end)" ( (binary_expression "puVar30 + uVar28 < end" (binary_expression "puVar30 + uVar28" identifier + identifier) < identifier) )) || (parenthesized_expression "((local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)))" ( (parenthesized_expression "(local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8))" ( (comma_expression "local_878 = 0, puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)" (assignment_expression "local_878 = 0" identifier = number_literal) , (binary_expression "puVar30 < end && (uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)" (binary_expression "puVar30 < end" identifier < identifier) && (parenthesized_expression "(uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8)" ( (comma_expression "uVar5 = iVar3 - (int)puVar30, uVar5 - 1 < 8" (assignment_expression "uVar5 = iVar3 - (int)puVar30" identifier = (binary_expression "iVar3 - (int)puVar30" identifier - (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar5 - 1 < 8" (binary_expression "uVar5 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n      local_878 = (*byte_get)(puVar30,uVar5);\n    }" { (expression_statement "local_878 = (*byte_get)(puVar30,uVar5);" (assignment_expression "local_878 = (*byte_get)(puVar30,uVar5)" identifier = (call_expression "(*byte_get)(puVar30,uVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar30,uVar5)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5)" identifier (argument_list "(0,"  Offset into .debug_line:     0x%lx\n",5)" ( number_literal , (string_literal ""  Offset into .debug_line:     0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,local_878);" (call_expression "printf(pcVar7,local_878)" identifier (argument_list "(pcVar7,local_878)" ( identifier , identifier ))) ;) (expression_statement "puVar30 = puVar30 + uVar28;" (assignment_expression "puVar30 = puVar30 + uVar28" identifier = (binary_expression "puVar30 + uVar28" identifier + identifier)) ;) }))) (if_statement "if ((eVar8 & 4) == 0) {\n    local_868 = (uchar **)0x0;\n    puVar29 = puVar30;\n  }\n  else {\n    puVar29 = puVar30 + 1;\n    if (end <= puVar29) {\n      if ((puVar30 < end) && (iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8)) {\n        eVar9 = (*byte_get)(puVar30,iVar24);\n        uVar5 = (uint)eVar9;\n        ppuVar10 = extended_op_buf;\n        for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n          *ppuVar10 = (uchar *)0x0;\n          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n        }\n        if (uVar5 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      pcVar7 = (char *)dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(pcVar7);\n      return 0;\n    }\n    local_868 = extended_op_buf;\n    eVar9 = (*byte_get)(puVar30,1);\n    uVar5 = (uint)eVar9;\n    ppuVar10 = local_868;\n    for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n      *ppuVar10 = (uchar *)0x0;\n      ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n    }\n    if (uVar5 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = extended_op_buf;\n    pcVar7 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar7);\n    uVar1 = 0;\n    do {\n      puVar13 = puVar29 + 1;\n      if (puVar13 < end) {\n        iVar24 = 1;\nLAB_00148b15:\n        eVar9 = (*byte_get)(puVar29,iVar24);\n        uVar12 = eVar9 & 0xffffffff;\n        ppuVar10 = local_868 + (eVar9 & 0xffffffff);\n      }\n      else {\n        if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;\n        uVar12 = 0;\n        ppuVar10 = local_868;\n      }\n      *ppuVar10 = puVar13;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar29 = puVar13 + bytes_read;\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar7,uVar12);\n      }\n      else {\n        dVar21 = 0;\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar7,uVar12);\n        puVar13 = puVar29;\n        do {\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        } while (dVar21 != dVar11);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar5);\n  }" if (parenthesized_expression "((eVar8 & 4) == 0)" ( (binary_expression "(eVar8 & 4) == 0" (parenthesized_expression "(eVar8 & 4)" ( (binary_expression "eVar8 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    local_868 = (uchar **)0x0;\n    puVar29 = puVar30;\n  }" { (expression_statement "local_868 = (uchar **)0x0;" (assignment_expression "local_868 = (uchar **)0x0" identifier = (cast_expression "(uchar **)0x0" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar29 = puVar30;" (assignment_expression "puVar29 = puVar30" identifier = identifier) ;) }) (else_clause "else {\n    puVar29 = puVar30 + 1;\n    if (end <= puVar29) {\n      if ((puVar30 < end) && (iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8)) {\n        eVar9 = (*byte_get)(puVar30,iVar24);\n        uVar5 = (uint)eVar9;\n        ppuVar10 = extended_op_buf;\n        for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n          *ppuVar10 = (uchar *)0x0;\n          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n        }\n        if (uVar5 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      pcVar7 = (char *)dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(pcVar7);\n      return 0;\n    }\n    local_868 = extended_op_buf;\n    eVar9 = (*byte_get)(puVar30,1);\n    uVar5 = (uint)eVar9;\n    ppuVar10 = local_868;\n    for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n      *ppuVar10 = (uchar *)0x0;\n      ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n    }\n    if (uVar5 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = extended_op_buf;\n    pcVar7 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar7);\n    uVar1 = 0;\n    do {\n      puVar13 = puVar29 + 1;\n      if (puVar13 < end) {\n        iVar24 = 1;\nLAB_00148b15:\n        eVar9 = (*byte_get)(puVar29,iVar24);\n        uVar12 = eVar9 & 0xffffffff;\n        ppuVar10 = local_868 + (eVar9 & 0xffffffff);\n      }\n      else {\n        if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;\n        uVar12 = 0;\n        ppuVar10 = local_868;\n      }\n      *ppuVar10 = puVar13;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar29 = puVar13 + bytes_read;\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar7,uVar12);\n      }\n      else {\n        dVar21 = 0;\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar7,uVar12);\n        puVar13 = puVar29;\n        do {\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        } while (dVar21 != dVar11);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar5);\n  }" else (compound_statement "{\n    puVar29 = puVar30 + 1;\n    if (end <= puVar29) {\n      if ((puVar30 < end) && (iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8)) {\n        eVar9 = (*byte_get)(puVar30,iVar24);\n        uVar5 = (uint)eVar9;\n        ppuVar10 = extended_op_buf;\n        for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n          *ppuVar10 = (uchar *)0x0;\n          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n        }\n        if (uVar5 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      pcVar7 = (char *)dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(pcVar7);\n      return 0;\n    }\n    local_868 = extended_op_buf;\n    eVar9 = (*byte_get)(puVar30,1);\n    uVar5 = (uint)eVar9;\n    ppuVar10 = local_868;\n    for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n      *ppuVar10 = (uchar *)0x0;\n      ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n    }\n    if (uVar5 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = extended_op_buf;\n    pcVar7 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar7);\n    uVar1 = 0;\n    do {\n      puVar13 = puVar29 + 1;\n      if (puVar13 < end) {\n        iVar24 = 1;\nLAB_00148b15:\n        eVar9 = (*byte_get)(puVar29,iVar24);\n        uVar12 = eVar9 & 0xffffffff;\n        ppuVar10 = local_868 + (eVar9 & 0xffffffff);\n      }\n      else {\n        if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;\n        uVar12 = 0;\n        ppuVar10 = local_868;\n      }\n      *ppuVar10 = puVar13;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar29 = puVar13 + bytes_read;\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar7,uVar12);\n      }\n      else {\n        dVar21 = 0;\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar7,uVar12);\n        puVar13 = puVar29;\n        do {\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        } while (dVar21 != dVar11);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar5);\n  }" { (expression_statement "puVar29 = puVar30 + 1;" (assignment_expression "puVar29 = puVar30 + 1" identifier = (binary_expression "puVar30 + 1" identifier + number_literal)) ;) (if_statement "if (end <= puVar29) {\n      if ((puVar30 < end) && (iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8)) {\n        eVar9 = (*byte_get)(puVar30,iVar24);\n        uVar5 = (uint)eVar9;\n        ppuVar10 = extended_op_buf;\n        for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n          *ppuVar10 = (uchar *)0x0;\n          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n        }\n        if (uVar5 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      pcVar7 = (char *)dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(pcVar7);\n      return 0;\n    }" if (parenthesized_expression "(end <= puVar29)" ( (binary_expression "end <= puVar29" identifier <= identifier) )) (compound_statement "{\n      if ((puVar30 < end) && (iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8)) {\n        eVar9 = (*byte_get)(puVar30,iVar24);\n        uVar5 = (uint)eVar9;\n        ppuVar10 = extended_op_buf;\n        for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n          *ppuVar10 = (uchar *)0x0;\n          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n        }\n        if (uVar5 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      pcVar7 = (char *)dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(pcVar7);\n      return 0;\n    }" { (if_statement "if ((puVar30 < end) && (iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8)) {\n        eVar9 = (*byte_get)(puVar30,iVar24);\n        uVar5 = (uint)eVar9;\n        ppuVar10 = extended_op_buf;\n        for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n          *ppuVar10 = (uchar *)0x0;\n          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n        }\n        if (uVar5 != 0) goto LAB_001482f8;\n      }" if (parenthesized_expression "((puVar30 < end) && (iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8))" ( (binary_expression "(puVar30 < end) && (iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8)" (parenthesized_expression "(puVar30 < end)" ( (binary_expression "puVar30 < end" identifier < identifier) )) && (parenthesized_expression "(iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8)" ( (comma_expression "iVar24 = iVar3 - (int)puVar30, iVar24 - 1U < 8" (assignment_expression "iVar24 = iVar3 - (int)puVar30" identifier = (binary_expression "iVar3 - (int)puVar30" identifier - (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar24 - 1U < 8" (binary_expression "iVar24 - 1U" identifier - number_literal) < number_literal)) ))) )) (compound_statement "{\n        eVar9 = (*byte_get)(puVar30,iVar24);\n        uVar5 = (uint)eVar9;\n        ppuVar10 = extended_op_buf;\n        for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n          *ppuVar10 = (uchar *)0x0;\n          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n        }\n        if (uVar5 != 0) goto LAB_001482f8;\n      }" { (expression_statement "eVar9 = (*byte_get)(puVar30,iVar24);" (assignment_expression "eVar9 = (*byte_get)(puVar30,iVar24)" identifier = (call_expression "(*byte_get)(puVar30,iVar24)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar30,iVar24)" ( identifier , identifier )))) ;) (expression_statement "uVar5 = (uint)eVar9;" (assignment_expression "uVar5 = (uint)eVar9" identifier = (cast_expression "(uint)eVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "ppuVar10 = extended_op_buf;" (assignment_expression "ppuVar10 = extended_op_buf" identifier = identifier) ;) (for_statement "for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n          *ppuVar10 = (uchar *)0x0;\n          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n        }" for ( (assignment_expression "lVar17 = 0x100" identifier = number_literal) ; (binary_expression "lVar17 != 0" identifier != number_literal) ; (assignment_expression "lVar17 = lVar17 + -1" identifier = (binary_expression "lVar17 + -1" identifier + number_literal)) ) (compound_statement "{\n          *ppuVar10 = (uchar *)0x0;\n          ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n        }" { (expression_statement "*ppuVar10 = (uchar *)0x0;" (assignment_expression "*ppuVar10 = (uchar *)0x0" (pointer_expression "*ppuVar10" * identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;" (assignment_expression "ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "ppuVar10 + (ulong)bVar31 * -2 + 1" (binary_expression "ppuVar10 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (uVar5 != 0) goto LAB_001482f8;" if (parenthesized_expression "(uVar5 != 0)" ( (binary_expression "uVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001482f8;" goto statement_identifier ;)) })) (labeled_statement "LAB_00148184:\n      putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (labeled_statement "LAB_0014818e:\n      pcVar7 = (char *)dcgettext(0,".debug_macro section not zero terminated\n",5);" statement_identifier : (expression_statement "pcVar7 = (char *)dcgettext(0,".debug_macro section not zero terminated\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,".debug_macro section not zero terminated\n",5)" identifier = (cast_expression "(char *)dcgettext(0,".debug_macro section not zero terminated\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,".debug_macro section not zero terminated\n",5)" identifier (argument_list "(0,".debug_macro section not zero terminated\n",5)" ( number_literal , (string_literal "".debug_macro section not zero terminated\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "error(pcVar7);" (call_expression "error(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "local_868 = extended_op_buf;" (assignment_expression "local_868 = extended_op_buf" identifier = identifier) ;) (expression_statement "eVar9 = (*byte_get)(puVar30,1);" (assignment_expression "eVar9 = (*byte_get)(puVar30,1)" identifier = (call_expression "(*byte_get)(puVar30,1)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar30,1)" ( identifier , number_literal )))) ;) (expression_statement "uVar5 = (uint)eVar9;" (assignment_expression "uVar5 = (uint)eVar9" identifier = (cast_expression "(uint)eVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "ppuVar10 = local_868;" (assignment_expression "ppuVar10 = local_868" identifier = identifier) ;) (for_statement "for (lVar17 = 0x100; lVar17 != 0; lVar17 = lVar17 + -1) {\n      *ppuVar10 = (uchar *)0x0;\n      ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n    }" for ( (assignment_expression "lVar17 = 0x100" identifier = number_literal) ; (binary_expression "lVar17 != 0" identifier != number_literal) ; (assignment_expression "lVar17 = lVar17 + -1" identifier = (binary_expression "lVar17 + -1" identifier + number_literal)) ) (compound_statement "{\n      *ppuVar10 = (uchar *)0x0;\n      ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;\n    }" { (expression_statement "*ppuVar10 = (uchar *)0x0;" (assignment_expression "*ppuVar10 = (uchar *)0x0" (pointer_expression "*ppuVar10" * identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1;" (assignment_expression "ppuVar10 = ppuVar10 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "ppuVar10 + (ulong)bVar31 * -2 + 1" (binary_expression "ppuVar10 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (uVar5 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      putchar(10);\n      goto LAB_0014840e;\n    }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (goto_statement "goto LAB_0014840e;" goto statement_identifier ;) })) (labeled_statement "LAB_001482f8:\n    local_868 = extended_op_buf;" statement_identifier : (expression_statement "local_868 = extended_op_buf;" (assignment_expression "local_868 = extended_op_buf" identifier = identifier) ;)) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Extension opcode arguments:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Extension opcode arguments:\n",5)" identifier (argument_list "(0,"  Extension opcode arguments:\n",5)" ( number_literal , (string_literal ""  Extension opcode arguments:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (do_statement "do {\n      puVar13 = puVar29 + 1;\n      if (puVar13 < end) {\n        iVar24 = 1;\nLAB_00148b15:\n        eVar9 = (*byte_get)(puVar29,iVar24);\n        uVar12 = eVar9 & 0xffffffff;\n        ppuVar10 = local_868 + (eVar9 & 0xffffffff);\n      }\n      else {\n        if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;\n        uVar12 = 0;\n        ppuVar10 = local_868;\n      }\n      *ppuVar10 = puVar13;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar29 = puVar13 + bytes_read;\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar7,uVar12);\n      }\n      else {\n        dVar21 = 0;\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar7,uVar12);\n        puVar13 = puVar29;\n        do {\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        } while (dVar21 != dVar11);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar5);" do (compound_statement "{\n      puVar13 = puVar29 + 1;\n      if (puVar13 < end) {\n        iVar24 = 1;\nLAB_00148b15:\n        eVar9 = (*byte_get)(puVar29,iVar24);\n        uVar12 = eVar9 & 0xffffffff;\n        ppuVar10 = local_868 + (eVar9 & 0xffffffff);\n      }\n      else {\n        if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;\n        uVar12 = 0;\n        ppuVar10 = local_868;\n      }\n      *ppuVar10 = puVar13;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar29 = puVar13 + bytes_read;\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar7,uVar12);\n      }\n      else {\n        dVar21 = 0;\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar7,uVar12);\n        puVar13 = puVar29;\n        do {\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        } while (dVar21 != dVar11);\n      }\n      uVar1 = uVar1 + 1;\n    }" { (expression_statement "puVar13 = puVar29 + 1;" (assignment_expression "puVar13 = puVar29 + 1" identifier = (binary_expression "puVar29 + 1" identifier + number_literal)) ;) (if_statement "if (puVar13 < end) {\n        iVar24 = 1;\nLAB_00148b15:\n        eVar9 = (*byte_get)(puVar29,iVar24);\n        uVar12 = eVar9 & 0xffffffff;\n        ppuVar10 = local_868 + (eVar9 & 0xffffffff);\n      }\n      else {\n        if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;\n        uVar12 = 0;\n        ppuVar10 = local_868;\n      }" if (parenthesized_expression "(puVar13 < end)" ( (binary_expression "puVar13 < end" identifier < identifier) )) (compound_statement "{\n        iVar24 = 1;\nLAB_00148b15:\n        eVar9 = (*byte_get)(puVar29,iVar24);\n        uVar12 = eVar9 & 0xffffffff;\n        ppuVar10 = local_868 + (eVar9 & 0xffffffff);\n      }" { (expression_statement "iVar24 = 1;" (assignment_expression "iVar24 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00148b15:\n        eVar9 = (*byte_get)(puVar29,iVar24);" statement_identifier : (expression_statement "eVar9 = (*byte_get)(puVar29,iVar24);" (assignment_expression "eVar9 = (*byte_get)(puVar29,iVar24)" identifier = (call_expression "(*byte_get)(puVar29,iVar24)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar29,iVar24)" ( identifier , identifier )))) ;)) (expression_statement "uVar12 = eVar9 & 0xffffffff;" (assignment_expression "uVar12 = eVar9 & 0xffffffff" identifier = (binary_expression "eVar9 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "ppuVar10 = local_868 + (eVar9 & 0xffffffff);" (assignment_expression "ppuVar10 = local_868 + (eVar9 & 0xffffffff)" identifier = (binary_expression "local_868 + (eVar9 & 0xffffffff)" identifier + (parenthesized_expression "(eVar9 & 0xffffffff)" ( (binary_expression "eVar9 & 0xffffffff" identifier & number_literal) )))) ;) }) (else_clause "else {\n        if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;\n        uVar12 = 0;\n        ppuVar10 = local_868;\n      }" else (compound_statement "{\n        if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;\n        uVar12 = 0;\n        ppuVar10 = local_868;\n      }" { (if_statement "if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)) goto LAB_00148b15;" if (parenthesized_expression "((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))" ( (binary_expression "(puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)" (parenthesized_expression "(puVar29 < end)" ( (binary_expression "puVar29 < end" identifier < identifier) )) && (parenthesized_expression "(iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)" ( (comma_expression "iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8" (assignment_expression "iVar24 = iVar3 - (int)puVar29" identifier = (binary_expression "iVar3 - (int)puVar29" identifier - (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar24 - 1U < 8" (binary_expression "iVar24 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00148b15;" goto statement_identifier ;)) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "ppuVar10 = local_868;" (assignment_expression "ppuVar10 = local_868" identifier = identifier) ;) }))) (expression_statement "*ppuVar10 = puVar13;" (assignment_expression "*ppuVar10 = puVar13" (pointer_expression "*ppuVar10" * identifier) = identifier) ;) (expression_statement "dVar11 = read_leb128(puVar13,&bytes_read,0,end);" (assignment_expression "dVar11 = read_leb128(puVar13,&bytes_read,0,end)" identifier = (call_expression "read_leb128(puVar13,&bytes_read,0,end)" identifier (argument_list "(puVar13,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar29 = puVar13 + bytes_read;" (assignment_expression "puVar29 = puVar13 + bytes_read" identifier = (binary_expression "puVar13 + bytes_read" identifier + identifier)) ;) (if_statement "if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar7,uVar12);\n      }\n      else {\n        dVar21 = 0;\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar7,uVar12);\n        puVar13 = puVar29;\n        do {\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        } while (dVar21 != dVar11);\n      }" if (parenthesized_expression "(dVar11 == 0)" ( (binary_expression "dVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar7,uVar12);\n      }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5)" identifier (argument_list "(0,"    DW_MACRO_%02x has no arguments\n",5)" ( number_literal , (string_literal ""    DW_MACRO_%02x has no arguments\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,uVar12);" (call_expression "printf(pcVar7,uVar12)" identifier (argument_list "(pcVar7,uVar12)" ( identifier , identifier ))) ;) }) (else_clause "else {\n        dVar21 = 0;\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar7,uVar12);\n        puVar13 = puVar29;\n        do {\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        } while (dVar21 != dVar11);\n      }" else (compound_statement "{\n        dVar21 = 0;\n        pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar7,uVar12);\n        puVar13 = puVar29;\n        do {\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        } while (dVar21 != dVar11);\n      }" { (expression_statement "dVar21 = 0;" (assignment_expression "dVar21 = 0" identifier = number_literal) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5)" identifier = (cast_expression "(char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    DW_MACRO_%02x arguments: ",5)" identifier (argument_list "(0,"    DW_MACRO_%02x arguments: ",5)" ( number_literal , (string_literal ""    DW_MACRO_%02x arguments: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,uVar12);" (call_expression "printf(pcVar7,uVar12)" identifier (argument_list "(pcVar7,uVar12)" ( identifier , identifier ))) ;) (expression_statement "puVar13 = puVar29;" (assignment_expression "puVar13 = puVar29" identifier = identifier) ;) (do_statement "do {\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        } while (dVar21 != dVar11);" do (compound_statement "{\n          puVar29 = puVar13 + 1;\n          if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          iVar24 = 1;\nLAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);\n          pcVar7 = ", ";\n          uVar12 = eVar9 & 0xffffffff;\n          if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }\n          pcVar26 = get_FORM_name(uVar12);\n          printf("%s%s",pcVar26,pcVar7);\n          if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;\n          dVar21 = dVar21 + 1;\n          puVar13 = puVar29;\n        }" { (expression_statement "puVar29 = puVar13 + 1;" (assignment_expression "puVar29 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) (if_statement "if (end <= puVar29) {\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }" if (parenthesized_expression "(end <= puVar29)" ( (binary_expression "end <= puVar29" identifier <= identifier) )) (compound_statement "{\n            if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;\n            if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }\n            uVar12 = 0;\n            printf("%s%s",pcVar7,pcVar26);\nLAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);\n            pcVar26 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }" { (if_statement "if ((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))\n            goto LAB_00148c15;" if (parenthesized_expression "((puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8))" ( (binary_expression "(puVar13 < end) && (iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8)" (parenthesized_expression "(puVar13 < end)" ( (binary_expression "puVar13 < end" identifier < identifier) )) && (parenthesized_expression "(iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8)" ( (comma_expression "iVar24 = iVar3 - (int)puVar13, iVar24 - 1U < 8" (assignment_expression "iVar24 = iVar3 - (int)puVar13" identifier = (binary_expression "iVar3 - (int)puVar13" identifier - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar24 - 1U < 8" (binary_expression "iVar24 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00148c15;" goto statement_identifier ;)) (if_statement "if (dVar21 == dVar11 - 1) {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }\n            else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }" if (parenthesized_expression "(dVar21 == dVar11 - 1)" ( (binary_expression "dVar21 == dVar11 - 1" identifier == (binary_expression "dVar11 - 1" identifier - number_literal)) )) (compound_statement "{\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = "\n";\n            }" { (expression_statement "pcVar7 = get_FORM_name(0);" (assignment_expression "pcVar7 = get_FORM_name(0)" identifier = (call_expression "get_FORM_name(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar26 = "\n";" (assignment_expression "pcVar26 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) }) (else_clause "else {\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }" else (compound_statement "{\n              pcVar7 = get_FORM_name(0);\n              pcVar26 = ", ";\n            }" { (expression_statement "pcVar7 = get_FORM_name(0);" (assignment_expression "pcVar7 = get_FORM_name(0)" identifier = (call_expression "get_FORM_name(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar26 = ", ";" (assignment_expression "pcVar26 = ", "" identifier = (string_literal "", "" " string_content ")) ;) }))) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "printf("%s%s",pcVar7,pcVar26);" (call_expression "printf("%s%s",pcVar7,pcVar26)" identifier (argument_list "("%s%s",pcVar7,pcVar26)" ( (string_literal ""%s%s"" " string_content ") , identifier , identifier ))) ;) (labeled_statement "LAB_00148bf3:\n            pcVar7 = get_FORM_name(uVar12);" statement_identifier : (expression_statement "pcVar7 = get_FORM_name(uVar12);" (assignment_expression "pcVar7 = get_FORM_name(uVar12)" identifier = (call_expression "get_FORM_name(uVar12)" identifier (argument_list "(uVar12)" ( identifier )))) ;)) (expression_statement "pcVar26 = "Invalid extension opcode form %s\n";" (assignment_expression "pcVar26 = "Invalid extension opcode form %s\n"" identifier = (string_literal ""Invalid extension opcode form %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_001480b3;" goto statement_identifier ;) })) (expression_statement "iVar24 = 1;" (assignment_expression "iVar24 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00148c15:\n          eVar9 = (*byte_get)(puVar13,iVar24);" statement_identifier : (expression_statement "eVar9 = (*byte_get)(puVar13,iVar24);" (assignment_expression "eVar9 = (*byte_get)(puVar13,iVar24)" identifier = (call_expression "(*byte_get)(puVar13,iVar24)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar13,iVar24)" ( identifier , identifier )))) ;)) (expression_statement "pcVar7 = ", ";" (assignment_expression "pcVar7 = ", "" identifier = (string_literal "", "" " string_content ")) ;) (expression_statement "uVar12 = eVar9 & 0xffffffff;" (assignment_expression "uVar12 = eVar9 & 0xffffffff" identifier = (binary_expression "eVar9 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (dVar11 - 1 == dVar21) {\n            pcVar7 = "\n";\n          }" if (parenthesized_expression "(dVar11 - 1 == dVar21)" ( (binary_expression "dVar11 - 1 == dVar21" (binary_expression "dVar11 - 1" identifier - number_literal) == identifier) )) (compound_statement "{\n            pcVar7 = "\n";\n          }" { (expression_statement "pcVar7 = "\n";" (assignment_expression "pcVar7 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) })) (expression_statement "pcVar26 = get_FORM_name(uVar12);" (assignment_expression "pcVar26 = get_FORM_name(uVar12)" identifier = (call_expression "get_FORM_name(uVar12)" identifier (argument_list "(uVar12)" ( identifier )))) ;) (expression_statement "printf("%s%s",pcVar26,pcVar7);" (call_expression "printf("%s%s",pcVar26,pcVar7)" identifier (argument_list "("%s%s",pcVar26,pcVar7)" ( (string_literal ""%s%s"" " string_content ") , identifier , identifier ))) ;) (if_statement "if ((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))\n          goto LAB_00148bf3;" if (parenthesized_expression "((0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0))" ( (binary_expression "(0x17 < (uint)eVar9) || ((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0)" (parenthesized_expression "(0x17 < (uint)eVar9)" ( (binary_expression "0x17 < (uint)eVar9" number_literal < (cast_expression "(uint)eVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) )) || (parenthesized_expression "((1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0)" ( (binary_expression "(1L << ((byte)eVar9 & 0x3f) & 0x80fff8U) == 0" (parenthesized_expression "(1L << ((byte)eVar9 & 0x3f) & 0x80fff8U)" ( (binary_expression "1L << ((byte)eVar9 & 0x3f) & 0x80fff8U" (binary_expression "1L << ((byte)eVar9 & 0x3f)" number_literal << (parenthesized_expression "((byte)eVar9 & 0x3f)" ( (binary_expression "(byte)eVar9 & 0x3f" (cast_expression "(byte)eVar9" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_00148bf3;" goto statement_identifier ;)) (expression_statement "dVar21 = dVar21 + 1;" (assignment_expression "dVar21 = dVar21 + 1" identifier = (binary_expression "dVar21 + 1" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar29;" (assignment_expression "puVar13 = puVar29" identifier = identifier) ;) }) while (parenthesized_expression "(dVar21 != dVar11)" ( (binary_expression "dVar21 != dVar11" identifier != identifier) )) ;) }))) (expression_statement "uVar1 = uVar1 + 1;" (assignment_expression "uVar1 = uVar1 + 1" identifier = (binary_expression "uVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar1 < uVar5)" ( (binary_expression "uVar1 < uVar5" identifier < identifier) )) ;) }))) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (if_statement "if (puVar29 < end) {\nLAB_0014840e:\n    puVar13 = puVar29 + 1;\n    if (puVar13 < end) goto LAB_001484f6;\nLAB_00148430:\n    iVar24 = iVar3 - (int)puVar29;\n    if ((7 < iVar24 - 1U) || (uVar12 = (*byte_get)(puVar29,iVar24), (int)uVar12 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar14 = uVar12 & 0xffffffff;\n    puVar29 = puVar13;\n    switch(uVar14) {\n    default:\n      if ((local_868 == (uchar **)0x0) ||\n         (puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0)) {\n        pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(pcVar7,uVar14);\n        return 0;\n      }\n      dVar11 = read_leb128(puVar30,&bytes_read,0,end);\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar7,uVar14);\n      }\n      else {\n        puVar30 = puVar30 + bytes_read;\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar7);\n        puVar29 = puVar30;\n        do {\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        } while (puVar18 != puVar30 + dVar11);\n        putchar(10);\n        puVar29 = puVar13;\n      }\n      break;\n    case 1:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\n      goto LAB_00148802;\n    case 2:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\nLAB_00148802:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar13);\n      break;\n    case 3:\n      puVar27 = &bytes_read;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      uVar12 = (ulong)bytes_read;\n      dVar21 = read_leb128(puVar13 + uVar12,puVar27,0,end);\n      puVar29 = puVar13 + uVar12 + bytes_read;\n      if ((eVar8 & 2) == 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5);\n        error(pcVar7);\n      }\n      else {\n        uVar12 = dVar21 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar7 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar7);\n      break;\n    case 5:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar30);\n      break;\n    case 10:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,eVar9);\n    }\n    goto LAB_001484e0;\n  }" if (parenthesized_expression "(puVar29 < end)" ( (binary_expression "puVar29 < end" identifier < identifier) )) (compound_statement "{\nLAB_0014840e:\n    puVar13 = puVar29 + 1;\n    if (puVar13 < end) goto LAB_001484f6;\nLAB_00148430:\n    iVar24 = iVar3 - (int)puVar29;\n    if ((7 < iVar24 - 1U) || (uVar12 = (*byte_get)(puVar29,iVar24), (int)uVar12 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar14 = uVar12 & 0xffffffff;\n    puVar29 = puVar13;\n    switch(uVar14) {\n    default:\n      if ((local_868 == (uchar **)0x0) ||\n         (puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0)) {\n        pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(pcVar7,uVar14);\n        return 0;\n      }\n      dVar11 = read_leb128(puVar30,&bytes_read,0,end);\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar7,uVar14);\n      }\n      else {\n        puVar30 = puVar30 + bytes_read;\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar7);\n        puVar29 = puVar30;\n        do {\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        } while (puVar18 != puVar30 + dVar11);\n        putchar(10);\n        puVar29 = puVar13;\n      }\n      break;\n    case 1:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\n      goto LAB_00148802;\n    case 2:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\nLAB_00148802:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar13);\n      break;\n    case 3:\n      puVar27 = &bytes_read;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      uVar12 = (ulong)bytes_read;\n      dVar21 = read_leb128(puVar13 + uVar12,puVar27,0,end);\n      puVar29 = puVar13 + uVar12 + bytes_read;\n      if ((eVar8 & 2) == 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5);\n        error(pcVar7);\n      }\n      else {\n        uVar12 = dVar21 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar7 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar7);\n      break;\n    case 5:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar30);\n      break;\n    case 10:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,eVar9);\n    }\n    goto LAB_001484e0;\n  }" { (labeled_statement "LAB_0014840e:\n    puVar13 = puVar29 + 1;" statement_identifier : (expression_statement "puVar13 = puVar29 + 1;" (assignment_expression "puVar13 = puVar29 + 1" identifier = (binary_expression "puVar29 + 1" identifier + number_literal)) ;)) (if_statement "if (puVar13 < end) goto LAB_001484f6;" if (parenthesized_expression "(puVar13 < end)" ( (binary_expression "puVar13 < end" identifier < identifier) )) (goto_statement "goto LAB_001484f6;" goto statement_identifier ;)) (labeled_statement "LAB_00148430:\n    iVar24 = iVar3 - (int)puVar29;" statement_identifier : (expression_statement "iVar24 = iVar3 - (int)puVar29;" (assignment_expression "iVar24 = iVar3 - (int)puVar29" identifier = (binary_expression "iVar3 - (int)puVar29" identifier - (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (if_statement "if ((7 < iVar24 - 1U) || (uVar12 = (*byte_get)(puVar29,iVar24), (int)uVar12 == 0)) {\n      putchar(10);\n      return 1;\n    }" if (parenthesized_expression "((7 < iVar24 - 1U) || (uVar12 = (*byte_get)(puVar29,iVar24), (int)uVar12 == 0))" ( (binary_expression "(7 < iVar24 - 1U) || (uVar12 = (*byte_get)(puVar29,iVar24), (int)uVar12 == 0)" (parenthesized_expression "(7 < iVar24 - 1U)" ( (binary_expression "7 < iVar24 - 1U" number_literal < (binary_expression "iVar24 - 1U" identifier - number_literal)) )) || (parenthesized_expression "(uVar12 = (*byte_get)(puVar29,iVar24), (int)uVar12 == 0)" ( (comma_expression "uVar12 = (*byte_get)(puVar29,iVar24), (int)uVar12 == 0" (assignment_expression "uVar12 = (*byte_get)(puVar29,iVar24)" identifier = (call_expression "(*byte_get)(puVar29,iVar24)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar29,iVar24)" ( identifier , identifier )))) , (binary_expression "(int)uVar12 == 0" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal)) ))) )) (compound_statement "{\n      putchar(10);\n      return 1;\n    }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00148456:\n    uVar14 = uVar12 & 0xffffffff;" statement_identifier : (expression_statement "uVar14 = uVar12 & 0xffffffff;" (assignment_expression "uVar14 = uVar12 & 0xffffffff" identifier = (binary_expression "uVar12 & 0xffffffff" identifier & number_literal)) ;)) (expression_statement "puVar29 = puVar13;" (assignment_expression "puVar29 = puVar13" identifier = identifier) ;) (switch_statement "switch(uVar14) {\n    default:\n      if ((local_868 == (uchar **)0x0) ||\n         (puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0)) {\n        pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(pcVar7,uVar14);\n        return 0;\n      }\n      dVar11 = read_leb128(puVar30,&bytes_read,0,end);\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar7,uVar14);\n      }\n      else {\n        puVar30 = puVar30 + bytes_read;\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar7);\n        puVar29 = puVar30;\n        do {\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        } while (puVar18 != puVar30 + dVar11);\n        putchar(10);\n        puVar29 = puVar13;\n      }\n      break;\n    case 1:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\n      goto LAB_00148802;\n    case 2:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\nLAB_00148802:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar13);\n      break;\n    case 3:\n      puVar27 = &bytes_read;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      uVar12 = (ulong)bytes_read;\n      dVar21 = read_leb128(puVar13 + uVar12,puVar27,0,end);\n      puVar29 = puVar13 + uVar12 + bytes_read;\n      if ((eVar8 & 2) == 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5);\n        error(pcVar7);\n      }\n      else {\n        uVar12 = dVar21 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar7 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar7);\n      break;\n    case 5:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar30);\n      break;\n    case 10:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,eVar9);\n    }" switch (parenthesized_expression "(uVar14)" ( identifier )) (compound_statement "{\n    default:\n      if ((local_868 == (uchar **)0x0) ||\n         (puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0)) {\n        pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(pcVar7,uVar14);\n        return 0;\n      }\n      dVar11 = read_leb128(puVar30,&bytes_read,0,end);\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar7,uVar14);\n      }\n      else {\n        puVar30 = puVar30 + bytes_read;\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar7);\n        puVar29 = puVar30;\n        do {\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        } while (puVar18 != puVar30 + dVar11);\n        putchar(10);\n        puVar29 = puVar13;\n      }\n      break;\n    case 1:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\n      goto LAB_00148802;\n    case 2:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\nLAB_00148802:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar13);\n      break;\n    case 3:\n      puVar27 = &bytes_read;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      uVar12 = (ulong)bytes_read;\n      dVar21 = read_leb128(puVar13 + uVar12,puVar27,0,end);\n      puVar29 = puVar13 + uVar12 + bytes_read;\n      if ((eVar8 & 2) == 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5);\n        error(pcVar7);\n      }\n      else {\n        uVar12 = dVar21 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar7 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar7);\n      break;\n    case 5:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar30);\n      break;\n    case 10:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,eVar9);\n    }" { (case_statement "default:\n      if ((local_868 == (uchar **)0x0) ||\n         (puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0)) {\n        pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(pcVar7,uVar14);\n        return 0;\n      }\n      dVar11 = read_leb128(puVar30,&bytes_read,0,end);\n      if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar7,uVar14);\n      }\n      else {\n        puVar30 = puVar30 + bytes_read;\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar7);\n        puVar29 = puVar30;\n        do {\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        } while (puVar18 != puVar30 + dVar11);\n        putchar(10);\n        puVar29 = puVar13;\n      }\n      break;" default : (if_statement "if ((local_868 == (uchar **)0x0) ||\n         (puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0)) {\n        pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(pcVar7,uVar14);\n        return 0;\n      }" if (parenthesized_expression "((local_868 == (uchar **)0x0) ||\n         (puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0))" ( (binary_expression "(local_868 == (uchar **)0x0) ||\n         (puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0)" (parenthesized_expression "(local_868 == (uchar **)0x0)" ( (binary_expression "local_868 == (uchar **)0x0" identifier == (cast_expression "(uchar **)0x0" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "(puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0)" ( (comma_expression "puVar30 = local_868[uVar12 & 0xffffffff], puVar30 == (uchar *)0x0" (assignment_expression "puVar30 = local_868[uVar12 & 0xffffffff]" identifier = (subscript_expression "local_868[uVar12 & 0xffffffff]" identifier [ (binary_expression "uVar12 & 0xffffffff" identifier & number_literal) ])) , (binary_expression "puVar30 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(pcVar7,uVar14);\n        return 0;\n      }" { (expression_statement "pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0," Unknown macro opcode %02x seen\n",5)" identifier = (cast_expression "(char *)dcgettext(0," Unknown macro opcode %02x seen\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Unknown macro opcode %02x seen\n",5)" identifier (argument_list "(0," Unknown macro opcode %02x seen\n",5)" ( number_literal , (string_literal "" Unknown macro opcode %02x seen\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "error(pcVar7,uVar14);" (call_expression "error(pcVar7,uVar14)" identifier (argument_list "(pcVar7,uVar14)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "dVar11 = read_leb128(puVar30,&bytes_read,0,end);" (assignment_expression "dVar11 = read_leb128(puVar30,&bytes_read,0,end)" identifier = (call_expression "read_leb128(puVar30,&bytes_read,0,end)" identifier (argument_list "(puVar30,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (if_statement "if (dVar11 == 0) {\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar7,uVar14);\n      }\n      else {\n        puVar30 = puVar30 + bytes_read;\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar7);\n        puVar29 = puVar30;\n        do {\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        } while (puVar18 != puVar30 + dVar11);\n        putchar(10);\n        puVar29 = puVar13;\n      }" if (parenthesized_expression "(dVar11 == 0)" ( (binary_expression "dVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar7,uVar14);\n      }" { (expression_statement "pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x\n",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACRO_%02x\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACRO_%02x\n",5)" identifier (argument_list "(0," DW_MACRO_%02x\n",5)" ( number_literal , (string_literal "" DW_MACRO_%02x\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,uVar14);" (call_expression "printf(pcVar7,uVar14)" identifier (argument_list "(pcVar7,uVar14)" ( identifier , identifier ))) ;) }) (else_clause "else {\n        puVar30 = puVar30 + bytes_read;\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar7);\n        puVar29 = puVar30;\n        do {\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        } while (puVar18 != puVar30 + dVar11);\n        putchar(10);\n        puVar29 = puVar13;\n      }" else (compound_statement "{\n        puVar30 = puVar30 + bytes_read;\n        pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar7);\n        puVar29 = puVar30;\n        do {\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        } while (puVar18 != puVar30 + dVar11);\n        putchar(10);\n        puVar29 = puVar13;\n      }" { (expression_statement "puVar30 = puVar30 + bytes_read;" (assignment_expression "puVar30 = puVar30 + bytes_read" identifier = (binary_expression "puVar30 + bytes_read" identifier + identifier)) ;) (expression_statement "pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0," DW_MACRO_%02x -",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACRO_%02x -",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACRO_%02x -",5)" identifier (argument_list "(0," DW_MACRO_%02x -",5)" ( number_literal , (string_literal "" DW_MACRO_%02x -"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (expression_statement "puVar29 = puVar30;" (assignment_expression "puVar29 = puVar30" identifier = identifier) ;) (do_statement "do {\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        } while (puVar18 != puVar30 + dVar11);" do (compound_statement "{\n          puVar18 = puVar29 + 1;\n          if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }\n          puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');\n          if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }\n          puVar29 = puVar18;\n        }" { (expression_statement "puVar18 = puVar29 + 1;" (assignment_expression "puVar18 = puVar29 + 1" identifier = (binary_expression "puVar29 + 1" identifier + number_literal)) ;) (if_statement "if (puVar18 < end) {\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }\n          else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }" if (parenthesized_expression "(puVar18 < end)" ( (binary_expression "puVar18 < end" identifier < identifier) )) (compound_statement "{\n            iVar24 = 1;\nLAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);\n            uVar12 = (ulong)(int)eVar9;\n          }" { (expression_statement "iVar24 = 1;" (assignment_expression "iVar24 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00148aea:\n            eVar9 = (*byte_get)(puVar29,iVar24);" statement_identifier : (expression_statement "eVar9 = (*byte_get)(puVar29,iVar24);" (assignment_expression "eVar9 = (*byte_get)(puVar29,iVar24)" identifier = (call_expression "(*byte_get)(puVar29,iVar24)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar29,iVar24)" ( identifier , identifier )))) ;)) (expression_statement "uVar12 = (ulong)(int)eVar9;" (assignment_expression "uVar12 = (ulong)(int)eVar9" identifier = (cast_expression "(ulong)(int)eVar9" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(int)eVar9" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }" else (compound_statement "{\n            uVar12 = 0;\n            if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;\n          }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (if_statement "if ((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))\n            goto LAB_00148aea;" if (parenthesized_expression "((puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8))" ( (binary_expression "(puVar29 < end) && (iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)" (parenthesized_expression "(puVar29 < end)" ( (binary_expression "puVar29 < end" identifier < identifier) )) && (parenthesized_expression "(iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8)" ( (comma_expression "iVar24 = iVar3 - (int)puVar29, iVar24 - 1U < 8" (assignment_expression "iVar24 = iVar3 - (int)puVar29" identifier = (binary_expression "iVar3 - (int)puVar29" identifier - (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar24 - 1U < 8" (binary_expression "iVar24 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00148aea;" goto statement_identifier ;)) }))) (expression_statement "puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ');" (assignment_expression "puVar13 = read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ')" identifier = (call_expression "read_and_display_attr_value\n                              (0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ')" identifier (argument_list "(0,uVar12,0,puVar13,end,0,0,(ulong)uVar28,(int)eVar6,(debug_info *)0x0\n                               ,0,(dwarf_section *)0x0,(cu_tu_set *)0x0,' ')" ( number_literal , identifier , number_literal , identifier , identifier , number_literal , number_literal , (cast_expression "(ulong)uVar28" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(int)eVar6" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(debug_info *)0x0" ( (type_descriptor "debug_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(cu_tu_set *)0x0" ( (type_descriptor "cu_tu_set *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (char_literal "' '" ' character ') )))) ;) (if_statement "if ((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30) {\n            putchar(0x2c);\n          }" if (parenthesized_expression "((uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30)" ( (binary_expression "(uchar *)(dVar11 - 1) != puVar18 + ~(ulong)puVar30" (cast_expression "(uchar *)(dVar11 - 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(dVar11 - 1)" ( (binary_expression "dVar11 - 1" identifier - number_literal) ))) != (binary_expression "puVar18 + ~(ulong)puVar30" identifier + (unary_expression "~(ulong)puVar30" ~ (cast_expression "(ulong)puVar30" ( (type_descriptor "ulong" type_identifier) ) identifier)))) )) (compound_statement "{\n            putchar(0x2c);\n          }" { (expression_statement "putchar(0x2c);" (call_expression "putchar(0x2c)" identifier (argument_list "(0x2c)" ( number_literal ))) ;) })) (expression_statement "puVar29 = puVar18;" (assignment_expression "puVar29 = puVar18" identifier = identifier) ;) }) while (parenthesized_expression "(puVar18 != puVar30 + dVar11)" ( (binary_expression "puVar18 != puVar30 + dVar11" identifier != (binary_expression "puVar30 + dVar11" identifier + identifier)) )) ;) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "puVar29 = puVar13;" (assignment_expression "puVar29 = puVar13" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case 1:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\n      goto LAB_00148802;" case number_literal : (expression_statement "dVar11 = read_leb128(puVar13,&bytes_read,0,end);" (assignment_expression "dVar11 = read_leb128(puVar13,&bytes_read,0,end)" identifier = (call_expression "read_leb128(puVar13,&bytes_read,0,end)" identifier (argument_list "(puVar13,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar13 = puVar13 + bytes_read;" (assignment_expression "puVar13 = puVar13 + bytes_read" identifier = (binary_expression "puVar13 + bytes_read" identifier + identifier)) ;) (expression_statement "sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);" (assignment_expression "sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13)" identifier = (call_expression "strnlen((char *)puVar13,(long)end - (long)puVar13)" identifier (argument_list "((char *)puVar13,(long)end - (long)puVar13)" ( (cast_expression "(char *)puVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(long)end - (long)puVar13" (cast_expression "(long)end" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "pcVar7 = " DW_MACRO_define - lineno : %d macro : %s\n";" (assignment_expression "pcVar7 = " DW_MACRO_define - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACRO_define - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) (expression_statement "puVar29 = puVar13 + sVar15 + 1;" (assignment_expression "puVar29 = puVar13 + sVar15 + 1" identifier = (binary_expression "puVar13 + sVar15 + 1" (binary_expression "puVar13 + sVar15" identifier + identifier) + number_literal)) ;) (goto_statement "goto LAB_00148802;" goto statement_identifier ;)) (case_statement "case 2:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);\n      pcVar7 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      puVar29 = puVar13 + sVar15 + 1;\nLAB_00148802:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar13);\n      break;" case number_literal : (expression_statement "dVar11 = read_leb128(puVar13,&bytes_read,0,end);" (assignment_expression "dVar11 = read_leb128(puVar13,&bytes_read,0,end)" identifier = (call_expression "read_leb128(puVar13,&bytes_read,0,end)" identifier (argument_list "(puVar13,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar13 = puVar13 + bytes_read;" (assignment_expression "puVar13 = puVar13 + bytes_read" identifier = (binary_expression "puVar13 + bytes_read" identifier + identifier)) ;) (expression_statement "sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13);" (assignment_expression "sVar15 = strnlen((char *)puVar13,(long)end - (long)puVar13)" identifier = (call_expression "strnlen((char *)puVar13,(long)end - (long)puVar13)" identifier (argument_list "((char *)puVar13,(long)end - (long)puVar13)" ( (cast_expression "(char *)puVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(long)end - (long)puVar13" (cast_expression "(long)end" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "pcVar7 = " DW_MACRO_undef - lineno : %d macro : %s\n";" (assignment_expression "pcVar7 = " DW_MACRO_undef - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACRO_undef - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) (expression_statement "puVar29 = puVar13 + sVar15 + 1;" (assignment_expression "puVar29 = puVar13 + sVar15 + 1" identifier = (binary_expression "puVar13 + sVar15 + 1" (binary_expression "puVar13 + sVar15" identifier + identifier) + number_literal)) ;) (labeled_statement "LAB_00148802:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);" statement_identifier : (expression_statement "pcVar7 = (char *)dcgettext(0,pcVar7,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,pcVar7,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar7,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar7,5)" identifier (argument_list "(0,pcVar7,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar7,dVar11 & 0xffffffff,puVar13);" (call_expression "printf(pcVar7,dVar11 & 0xffffffff,puVar13)" identifier (argument_list "(pcVar7,dVar11 & 0xffffffff,puVar13)" ( identifier , (binary_expression "dVar11 & 0xffffffff" identifier & number_literal) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      puVar27 = &bytes_read;\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      uVar12 = (ulong)bytes_read;\n      dVar21 = read_leb128(puVar13 + uVar12,puVar27,0,end);\n      puVar29 = puVar13 + uVar12 + bytes_read;\n      if ((eVar8 & 2) == 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5);\n        error(pcVar7);\n      }\n      else {\n        uVar12 = dVar21 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;" case number_literal : (expression_statement "puVar27 = &bytes_read;" (assignment_expression "puVar27 = &bytes_read" identifier = (pointer_expression "&bytes_read" & identifier)) ;) (expression_statement "dVar11 = read_leb128(puVar13,&bytes_read,0,end);" (assignment_expression "dVar11 = read_leb128(puVar13,&bytes_read,0,end)" identifier = (call_expression "read_leb128(puVar13,&bytes_read,0,end)" identifier (argument_list "(puVar13,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "uVar12 = (ulong)bytes_read;" (assignment_expression "uVar12 = (ulong)bytes_read" identifier = (cast_expression "(ulong)bytes_read" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "dVar21 = read_leb128(puVar13 + uVar12,puVar27,0,end);" (assignment_expression "dVar21 = read_leb128(puVar13 + uVar12,puVar27,0,end)" identifier = (call_expression "read_leb128(puVar13 + uVar12,puVar27,0,end)" identifier (argument_list "(puVar13 + uVar12,puVar27,0,end)" ( (binary_expression "puVar13 + uVar12" identifier + identifier) , identifier , number_literal , identifier )))) ;) (expression_statement "puVar29 = puVar13 + uVar12 + bytes_read;" (assignment_expression "puVar29 = puVar13 + uVar12 + bytes_read" identifier = (binary_expression "puVar13 + uVar12 + bytes_read" (binary_expression "puVar13 + uVar12" identifier + identifier) + identifier)) ;) (if_statement "if ((eVar8 & 2) == 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5);\n        error(pcVar7);\n      }\n      else {\n        uVar12 = dVar21 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "((eVar8 & 2) == 0)" ( (binary_expression "(eVar8 & 2) == 0" (parenthesized_expression "(eVar8 & 2)" ( (binary_expression "eVar8 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        pcVar7 = (char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5);\n        error(pcVar7);\n      }" { (expression_statement "pcVar7 = (char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5)" identifier (argument_list "(0,\n                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"\n                                   ,5)" ( number_literal , (string_literal ""DW_MACRO_start_file used, but no .debug_line offset provided.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "error(pcVar7);" (call_expression "error(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) }) (else_clause "else {\n        uVar12 = dVar21 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }\n      }" else (compound_statement "{\n        uVar12 = dVar21 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "uVar12 = dVar21 & 0xffffffff;" (assignment_expression "uVar12 = dVar21 & 0xffffffff" identifier = (binary_expression "dVar21 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)) {\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0))" ( (binary_expression "((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar12 != 0)" (parenthesized_expression "((DAT_001912a0 != 0) && (local_878 < DAT_001912b0))" ( (binary_expression "(DAT_001912a0 != 0) && (local_878 < DAT_001912b0)" (parenthesized_expression "(DAT_001912a0 != 0)" ( (binary_expression "DAT_001912a0 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_878 < DAT_001912b0)" ( (binary_expression "local_878 < DAT_001912b0" identifier < identifier) ))) )) && (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          puVar30 = (uchar *)(DAT_001912a0 + local_878);\n          end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);\n          puVar13 = puVar30 + 4;\n          iVar24 = (int)end_00;\n          puVar18 = puVar13;\n          if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }\n        }" { (expression_statement "puVar30 = (uchar *)(DAT_001912a0 + local_878);" (assignment_expression "puVar30 = (uchar *)(DAT_001912a0 + local_878)" identifier = (cast_expression "(uchar *)(DAT_001912a0 + local_878)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001912a0 + local_878)" ( (binary_expression "DAT_001912a0 + local_878" identifier + identifier) )))) ;) (expression_statement "end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0);" (assignment_expression "end_00 = (uchar *)(DAT_001912a0 + DAT_001912b0)" identifier = (cast_expression "(uchar *)(DAT_001912a0 + DAT_001912b0)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001912a0 + DAT_001912b0)" ( (binary_expression "DAT_001912a0 + DAT_001912b0" identifier + identifier) )))) ;) (expression_statement "puVar13 = puVar30 + 4;" (assignment_expression "puVar13 = puVar30 + 4" identifier = (binary_expression "puVar30 + 4" identifier + number_literal)) ;) (expression_statement "iVar24 = (int)end_00;" (assignment_expression "iVar24 = (int)end_00" identifier = (cast_expression "(int)end_00" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar18 = puVar13;" (assignment_expression "puVar18 = puVar13" identifier = identifier) ;) (if_statement "if (puVar13 < end_00) {\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }\n          else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }" if (parenthesized_expression "(puVar13 < end_00)" ( (binary_expression "puVar13 < end_00" identifier < identifier) )) (compound_statement "{\n            iVar25 = 4;\nLAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);\n            uVar20 = 4;\n            iVar25 = 4;\n            if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }\n            uVar19 = uVar20 + uVar14;\n            if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;\n          }" { (expression_statement "iVar25 = 4;" (assignment_expression "iVar25 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00148b35:\n            uVar14 = (*byte_get)(puVar30,iVar25);" statement_identifier : (expression_statement "uVar14 = (*byte_get)(puVar30,iVar25);" (assignment_expression "uVar14 = (*byte_get)(puVar30,iVar25)" identifier = (call_expression "(*byte_get)(puVar30,iVar25)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar30,iVar25)" ( identifier , identifier )))) ;)) (expression_statement "uVar20 = 4;" (assignment_expression "uVar20 = 4" identifier = number_literal) ;) (expression_statement "iVar25 = 4;" (assignment_expression "iVar25 = 4" identifier = number_literal) ;) (if_statement "if (uVar14 == 0xffffffff) {\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }" if (parenthesized_expression "(uVar14 == 0xffffffff)" ( (binary_expression "uVar14 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n              puVar18 = puVar30 + 0xc;\n              if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }\n              uVar14 = (*byte_get)(puVar13,iVar25);\n              uVar20 = 0xc;\n              iVar25 = 8;\n            }" { (expression_statement "puVar18 = puVar30 + 0xc;" (assignment_expression "puVar18 = puVar30 + 0xc" identifier = (binary_expression "puVar30 + 0xc" identifier + number_literal)) ;) (if_statement "if (puVar18 < end_00) {\n                iVar25 = 8;\n              }\n              else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }" if (parenthesized_expression "(puVar18 < end_00)" ( (binary_expression "puVar18 < end_00" identifier < identifier) )) (compound_statement "{\n                iVar25 = 8;\n              }" { (expression_statement "iVar25 = 8;" (assignment_expression "iVar25 = 8" identifier = number_literal) ;) }) (else_clause "else if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }" else (if_statement "if ((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)) {\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }" if (parenthesized_expression "((end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U))" ( (binary_expression "(end_00 <= puVar13) || (iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)" (parenthesized_expression "(end_00 <= puVar13)" ( (binary_expression "end_00 <= puVar13" identifier <= identifier) )) || (parenthesized_expression "(iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U)" ( (comma_expression "iVar25 = iVar24 - (int)puVar13, 7 < iVar25 - 1U" (assignment_expression "iVar25 = iVar24 - (int)puVar13" identifier = (binary_expression "iVar24 - (int)puVar13" identifier - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar25 - 1U" number_literal < (binary_expression "iVar25 - 1U" identifier - number_literal))) ))) )) (compound_statement "{\n                uVar19 = 0xc;\n                iVar25 = 8;\n                goto LAB_00148941;\n              }" { (expression_statement "uVar19 = 0xc;" (assignment_expression "uVar19 = 0xc" identifier = number_literal) ;) (expression_statement "iVar25 = 8;" (assignment_expression "iVar25 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_00148941;" goto statement_identifier ;) })))) (expression_statement "uVar14 = (*byte_get)(puVar13,iVar25);" (assignment_expression "uVar14 = (*byte_get)(puVar13,iVar25)" identifier = (call_expression "(*byte_get)(puVar13,iVar25)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar13,iVar25)" ( identifier , identifier )))) ;) (expression_statement "uVar20 = 0xc;" (assignment_expression "uVar20 = 0xc" identifier = number_literal) ;) (expression_statement "iVar25 = 8;" (assignment_expression "iVar25 = 8" identifier = number_literal) ;) })) (expression_statement "uVar19 = uVar20 + uVar14;" (assignment_expression "uVar19 = uVar20 + uVar14" identifier = (binary_expression "uVar20 + uVar14" identifier + identifier)) ;) (if_statement "if (CARRY8(uVar20,uVar14)) goto LAB_0014879b;" if (parenthesized_expression "(CARRY8(uVar20,uVar14))" ( (call_expression "CARRY8(uVar20,uVar14)" identifier (argument_list "(uVar20,uVar14)" ( identifier , identifier ))) )) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)) }) (else_clause "else {\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }" else (compound_statement "{\n            if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;\n            uVar19 = 4;\n            iVar25 = 4;\n          }" { (if_statement "if ((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               ) goto LAB_00148b35;" if (parenthesized_expression "((puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)\n               )" ( (binary_expression "(puVar30 < end_00) && (iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)" (parenthesized_expression "(puVar30 < end_00)" ( (binary_expression "puVar30 < end_00" identifier < identifier) )) && (parenthesized_expression "(iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8)" ( (comma_expression "iVar25 = (int)DAT_001912b0 - (int)local_878, iVar25 - 1U < 8" (assignment_expression "iVar25 = (int)DAT_001912b0 - (int)local_878" identifier = (binary_expression "(int)DAT_001912b0 - (int)local_878" (cast_expression "(int)DAT_001912b0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_878" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar25 - 1U < 8" (binary_expression "iVar25 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00148b35;" goto statement_identifier ;)) (expression_statement "uVar19 = 4;" (assignment_expression "uVar19 = 4" identifier = number_literal) ;) (expression_statement "iVar25 = 4;" (assignment_expression "iVar25 = 4" identifier = number_literal) ;) }))) (labeled_statement "LAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }" statement_identifier : (if_statement "if (uVar19 <= DAT_001912b0) {\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }" if (parenthesized_expression "(uVar19 <= DAT_001912b0)" ( (binary_expression "uVar19 <= DAT_001912b0" identifier <= identifier) )) (compound_statement "{\n            if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;\n            eVar9 = (*byte_get)(puVar18,iVar23);\n            if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }\n          }" { (if_statement "if (puVar18 + 2 < end_00) {\n              iVar23 = 2;\n            }\n            else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;" if (parenthesized_expression "(puVar18 + 2 < end_00)" ( (binary_expression "puVar18 + 2 < end_00" (binary_expression "puVar18 + 2" identifier + number_literal) < identifier) )) (compound_statement "{\n              iVar23 = 2;\n            }" { (expression_statement "iVar23 = 2;" (assignment_expression "iVar23 = 2" identifier = number_literal) ;) }) (else_clause "else if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;" else (if_statement "if ((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))\n            goto LAB_0014879b;" if (parenthesized_expression "((end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U))" ( (binary_expression "(end_00 <= puVar18) || (iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U)" (parenthesized_expression "(end_00 <= puVar18)" ( (binary_expression "end_00 <= puVar18" identifier <= identifier) )) || (parenthesized_expression "(iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U)" ( (comma_expression "iVar23 = iVar24 - (int)puVar18, 7 < iVar23 - 1U" (assignment_expression "iVar23 = iVar24 - (int)puVar18" identifier = (binary_expression "iVar24 - (int)puVar18" identifier - (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar23 - 1U" number_literal < (binary_expression "iVar23 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)))) (expression_statement "eVar9 = (*byte_get)(puVar18,iVar23);" (assignment_expression "eVar9 = (*byte_get)(puVar18,iVar23)" identifier = (call_expression "(*byte_get)(puVar18,iVar23)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar18,iVar23)" ( identifier , identifier )))) ;) (if_statement "if ((int)eVar9 - 2U < 3) {\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }" if (parenthesized_expression "((int)eVar9 - 2U < 3)" ( (binary_expression "(int)eVar9 - 2U < 3" (binary_expression "(int)eVar9 - 2U" (cast_expression "(int)eVar9" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal) )) (compound_statement "{\n              lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;\n              puVar13 = puVar18 + lVar17 + 3;\n              if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;\n              eVar9 = (*byte_get)(puVar13,iVar24);\n              if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }\n            }" { (expression_statement "lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2;" (assignment_expression "lVar17 = (ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2" identifier = (binary_expression "(ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1) + 2" (binary_expression "(ulong)((int)eVar9 == 4) + (ulong)(iVar25 + 1)" (call_expression "(ulong)((int)eVar9 == 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)eVar9 == 4)" ( (binary_expression "(int)eVar9 == 4" (cast_expression "(int)eVar9" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) ))) + (call_expression "(ulong)(iVar25 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar25 + 1)" ( (binary_expression "iVar25 + 1" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar13 = puVar18 + lVar17 + 3;" (assignment_expression "puVar13 = puVar18 + lVar17 + 3" identifier = (binary_expression "puVar18 + lVar17 + 3" (binary_expression "puVar18 + lVar17" identifier + identifier) + number_literal)) ;) (if_statement "if (puVar18 + lVar17 + 4 < end_00) {\n                iVar24 = 1;\n              }\n              else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;" if (parenthesized_expression "(puVar18 + lVar17 + 4 < end_00)" ( (binary_expression "puVar18 + lVar17 + 4 < end_00" (binary_expression "puVar18 + lVar17 + 4" (binary_expression "puVar18 + lVar17" identifier + identifier) + number_literal) < identifier) )) (compound_statement "{\n                iVar24 = 1;\n              }" { (expression_statement "iVar24 = 1;" (assignment_expression "iVar24 = 1" identifier = number_literal) ;) }) (else_clause "else if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;" else (if_statement "if ((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))\n              goto LAB_0014879b;" if (parenthesized_expression "((end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U))" ( (binary_expression "(end_00 <= puVar13) || (iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U)" (parenthesized_expression "(end_00 <= puVar13)" ( (binary_expression "end_00 <= puVar13" identifier <= identifier) )) || (parenthesized_expression "(iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U)" ( (comma_expression "iVar24 = iVar24 - (int)puVar13, 7 < iVar24 - 1U" (assignment_expression "iVar24 = iVar24 - (int)puVar13" identifier = (binary_expression "iVar24 - (int)puVar13" identifier - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar24 - 1U" number_literal < (binary_expression "iVar24 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)))) (expression_statement "eVar9 = (*byte_get)(puVar13,iVar24);" (assignment_expression "eVar9 = (*byte_get)(puVar13,iVar24)" identifier = (call_expression "(*byte_get)(puVar13,iVar24)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar13,iVar24)" ( identifier , identifier )))) ;) (if_statement "if ((int)eVar9 != 0) {\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }" if (parenthesized_expression "((int)eVar9 != 0)" ( (binary_expression "(int)eVar9 != 0" (cast_expression "(int)eVar9" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (compound_statement "{\n                local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);\n                for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }\n              }" { (expression_statement "local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1);" (assignment_expression "local_890 = puVar18 + lVar17 + 4 + ((int)eVar9 - 1)" identifier = (binary_expression "puVar18 + lVar17 + 4 + ((int)eVar9 - 1)" (binary_expression "puVar18 + lVar17 + 4" (binary_expression "puVar18 + lVar17" identifier + identifier) + number_literal) + (parenthesized_expression "((int)eVar9 - 1)" ( (binary_expression "(int)eVar9 - 1" (cast_expression "(int)eVar9" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) (for_statement "for (puVar13 = local_890; puVar13 < end_00; puVar13 = puVar13 + sVar15 + 1) {\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }" for ( (assignment_expression "puVar13 = local_890" identifier = identifier) ; (binary_expression "puVar13 < end_00" identifier < identifier) ; (assignment_expression "puVar13 = puVar13 + sVar15 + 1" identifier = (binary_expression "puVar13 + sVar15 + 1" (binary_expression "puVar13 + sVar15" identifier + identifier) + number_literal)) ) (compound_statement "{\n                  if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);\n                }" { (if_statement "if (*puVar13 == '\0') {\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }" if (parenthesized_expression "(*puVar13 == '\0')" ( (binary_expression "*puVar13 == '\0'" (pointer_expression "*puVar13" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    puVar30 = puVar13 + 1;\n                    if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }" { (expression_statement "puVar30 = puVar13 + 1;" (assignment_expression "puVar30 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) (if_statement "if (puVar30 < end_00) {\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }" if (parenthesized_expression "(puVar30 < end_00)" ( (binary_expression "puVar30 < end_00" identifier < identifier) )) (compound_statement "{\n                      uVar4 = puVar13[1];\n                      if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }" { (expression_statement "uVar4 = puVar13[1];" (assignment_expression "uVar4 = puVar13[1]" identifier = (subscript_expression "puVar13[1]" identifier [ number_literal ])) ;) (if_statement "if ((uVar12 == 1) || (uVar4 == '\0')) goto LAB_00148eec;" if (parenthesized_expression "((uVar12 == 1) || (uVar4 == '\0'))" ( (binary_expression "(uVar12 == 1) || (uVar4 == '\0')" (parenthesized_expression "(uVar12 == 1)" ( (binary_expression "uVar12 == 1" identifier == number_literal) )) || (parenthesized_expression "(uVar4 == '\0')" ( (binary_expression "uVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00148eec;" goto statement_identifier ;)) (goto_statement "goto LAB_00148d9d;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13);" (assignment_expression "sVar15 = strnlen((char *)puVar13,(long)end_00 - (long)puVar13)" identifier = (call_expression "strnlen((char *)puVar13,(long)end_00 - (long)puVar13)" identifier (argument_list "((char *)puVar13,(long)end_00 - (long)puVar13)" ( (cast_expression "(char *)puVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(long)end_00 - (long)puVar13" (cast_expression "(long)end_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) })) })) })) }))) })) }))) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)) (case_statement "case 4:\n      pcVar7 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar7);\n      break;" case number_literal : (expression_statement "pcVar7 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0," DW_MACRO_end_file\n",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACRO_end_file\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACRO_end_file\n",5)" identifier (argument_list "(0," DW_MACRO_end_file\n",5)" ( number_literal , (string_literal "" DW_MACRO_end_file\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;" case number_literal : (expression_statement "dVar11 = read_leb128(puVar13,&bytes_read,0,end);" (assignment_expression "dVar11 = read_leb128(puVar13,&bytes_read,0,end)" identifier = (call_expression "read_leb128(puVar13,&bytes_read,0,end)" identifier (argument_list "(puVar13,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar13 = puVar13 + bytes_read;" (assignment_expression "puVar13 = puVar13 + bytes_read" identifier = (binary_expression "puVar13 + bytes_read" identifier + identifier)) ;) (expression_statement "puVar29 = puVar13 + uVar28;" (assignment_expression "puVar29 = puVar13 + uVar28" identifier = (binary_expression "puVar13 + uVar28" identifier + identifier)) ;) (expression_statement "uVar5 = uVar28;" (assignment_expression "uVar5 = uVar28" identifier = identifier) ;) (if_statement "if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }" if (parenthesized_expression "((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))" ( (binary_expression "(puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))" (parenthesized_expression "(puVar29 < end)" ( (binary_expression "puVar29 < end" identifier < identifier) )) || (parenthesized_expression "((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))" ( (parenthesized_expression "(eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))" ( (comma_expression "eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" (assignment_expression "eVar9 = 0" identifier = number_literal) , (binary_expression "puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" (binary_expression "puVar13 < end" identifier < identifier) && (parenthesized_expression "(uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" ( (comma_expression "uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8" (assignment_expression "uVar5 = iVar3 - (int)puVar13" identifier = (binary_expression "iVar3 - (int)puVar13" identifier - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar5 - 1 < 8" (binary_expression "uVar5 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }" { (expression_statement "eVar9 = (*byte_get)(puVar13,uVar5);" (assignment_expression "eVar9 = (*byte_get)(puVar13,uVar5)" identifier = (call_expression "(*byte_get)(puVar13,uVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar13,uVar5)" ( identifier , identifier )))) ;) })) (expression_statement "puVar30 = fetch_indirect_string(eVar9);" (assignment_expression "puVar30 = fetch_indirect_string(eVar9)" identifier = (call_expression "fetch_indirect_string(eVar9)" identifier (argument_list "(eVar9)" ( identifier )))) ;) (expression_statement "pcVar7 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";" (assignment_expression "pcVar7 = " DW_MACRO_define_strp - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACRO_define_strp - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0014857d;" goto statement_identifier ;)) (case_statement "case 6:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      puVar30 = fetch_indirect_string(eVar9);\n      pcVar7 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;" case number_literal : (expression_statement "dVar11 = read_leb128(puVar13,&bytes_read,0,end);" (assignment_expression "dVar11 = read_leb128(puVar13,&bytes_read,0,end)" identifier = (call_expression "read_leb128(puVar13,&bytes_read,0,end)" identifier (argument_list "(puVar13,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar13 = puVar13 + bytes_read;" (assignment_expression "puVar13 = puVar13 + bytes_read" identifier = (binary_expression "puVar13 + bytes_read" identifier + identifier)) ;) (expression_statement "puVar29 = puVar13 + uVar28;" (assignment_expression "puVar29 = puVar13 + uVar28" identifier = (binary_expression "puVar13 + uVar28" identifier + identifier)) ;) (expression_statement "uVar5 = uVar28;" (assignment_expression "uVar5 = uVar28" identifier = identifier) ;) (if_statement "if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }" if (parenthesized_expression "((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))" ( (binary_expression "(puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))" (parenthesized_expression "(puVar29 < end)" ( (binary_expression "puVar29 < end" identifier < identifier) )) || (parenthesized_expression "((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))" ( (parenthesized_expression "(eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))" ( (comma_expression "eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" (assignment_expression "eVar9 = 0" identifier = number_literal) , (binary_expression "puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" (binary_expression "puVar13 < end" identifier < identifier) && (parenthesized_expression "(uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" ( (comma_expression "uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8" (assignment_expression "uVar5 = iVar3 - (int)puVar13" identifier = (binary_expression "iVar3 - (int)puVar13" identifier - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar5 - 1 < 8" (binary_expression "uVar5 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }" { (expression_statement "eVar9 = (*byte_get)(puVar13,uVar5);" (assignment_expression "eVar9 = (*byte_get)(puVar13,uVar5)" identifier = (call_expression "(*byte_get)(puVar13,uVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar13,uVar5)" ( identifier , identifier )))) ;) })) (expression_statement "puVar30 = fetch_indirect_string(eVar9);" (assignment_expression "puVar30 = fetch_indirect_string(eVar9)" identifier = (call_expression "fetch_indirect_string(eVar9)" identifier (argument_list "(eVar9)" ( identifier )))) ;) (expression_statement "pcVar7 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";" (assignment_expression "pcVar7 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACRO_undef_strp - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0014857d;" goto statement_identifier ;)) (case_statement "case 7:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;" case number_literal : (expression_statement "puVar29 = puVar13 + uVar28;" (assignment_expression "puVar29 = puVar13 + uVar28" identifier = (binary_expression "puVar13 + uVar28" identifier + identifier)) ;) (expression_statement "uVar5 = uVar28;" (assignment_expression "uVar5 = uVar28" identifier = identifier) ;) (if_statement "if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }" if (parenthesized_expression "((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))" ( (binary_expression "(puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))" (parenthesized_expression "(puVar29 < end)" ( (binary_expression "puVar29 < end" identifier < identifier) )) || (parenthesized_expression "((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))" ( (parenthesized_expression "(eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))" ( (comma_expression "eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" (assignment_expression "eVar9 = 0" identifier = number_literal) , (binary_expression "puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" (binary_expression "puVar13 < end" identifier < identifier) && (parenthesized_expression "(uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" ( (comma_expression "uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8" (assignment_expression "uVar5 = iVar3 - (int)puVar13" identifier = (binary_expression "iVar3 - (int)puVar13" identifier - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar5 - 1 < 8" (binary_expression "uVar5 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }" { (expression_statement "eVar9 = (*byte_get)(puVar13,uVar5);" (assignment_expression "eVar9 = (*byte_get)(puVar13,uVar5)" identifier = (call_expression "(*byte_get)(puVar13,uVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar13,uVar5)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar7 = " DW_MACRO_import - offset : 0x%lx\n";" (assignment_expression "pcVar7 = " DW_MACRO_import - offset : 0x%lx\n"" identifier = (string_literal "" DW_MACRO_import - offset : 0x%lx\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_001484c9;" goto statement_identifier ;)) (case_statement "case 8:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;" case number_literal : (expression_statement "dVar11 = read_leb128(puVar13,&bytes_read,0,end);" (assignment_expression "dVar11 = read_leb128(puVar13,&bytes_read,0,end)" identifier = (call_expression "read_leb128(puVar13,&bytes_read,0,end)" identifier (argument_list "(puVar13,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar13 = puVar13 + bytes_read;" (assignment_expression "puVar13 = puVar13 + bytes_read" identifier = (binary_expression "puVar13 + bytes_read" identifier + identifier)) ;) (expression_statement "puVar29 = puVar13 + uVar28;" (assignment_expression "puVar29 = puVar13 + uVar28" identifier = (binary_expression "puVar13 + uVar28" identifier + identifier)) ;) (expression_statement "uVar5 = uVar28;" (assignment_expression "uVar5 = uVar28" identifier = identifier) ;) (if_statement "if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }" if (parenthesized_expression "((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))" ( (binary_expression "(puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))" (parenthesized_expression "(puVar29 < end)" ( (binary_expression "puVar29 < end" identifier < identifier) )) || (parenthesized_expression "((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))" ( (parenthesized_expression "(puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))" ( (comma_expression "puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" (assignment_expression "puVar30 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" (binary_expression "puVar13 < end" identifier < identifier) && (parenthesized_expression "(uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" ( (comma_expression "uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8" (assignment_expression "uVar5 = iVar3 - (int)puVar13" identifier = (binary_expression "iVar3 - (int)puVar13" identifier - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar5 - 1 < 8" (binary_expression "uVar5 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }" { (expression_statement "puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);" (assignment_expression "puVar30 = (uchar *)(*byte_get)(puVar13,uVar5)" identifier = (cast_expression "(uchar *)(*byte_get)(puVar13,uVar5)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*byte_get)(puVar13,uVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar13,uVar5)" ( identifier , identifier ))))) ;) })) (expression_statement "pcVar7 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";" (assignment_expression "pcVar7 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n"" identifier = (string_literal "" DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0014857d;" goto statement_identifier ;)) (case_statement "case 9:\n      dVar11 = read_leb128(puVar13,&bytes_read,0,end);\n      puVar13 = puVar13 + bytes_read;\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,dVar11 & 0xffffffff,puVar30);\n      break;" case number_literal : (expression_statement "dVar11 = read_leb128(puVar13,&bytes_read,0,end);" (assignment_expression "dVar11 = read_leb128(puVar13,&bytes_read,0,end)" identifier = (call_expression "read_leb128(puVar13,&bytes_read,0,end)" identifier (argument_list "(puVar13,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar13 = puVar13 + bytes_read;" (assignment_expression "puVar13 = puVar13 + bytes_read" identifier = (binary_expression "puVar13 + bytes_read" identifier + identifier)) ;) (expression_statement "puVar29 = puVar13 + uVar28;" (assignment_expression "puVar29 = puVar13 + uVar28" identifier = (binary_expression "puVar13 + uVar28" identifier + identifier)) ;) (expression_statement "uVar5 = uVar28;" (assignment_expression "uVar5 = uVar28" identifier = identifier) ;) (if_statement "if ((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))\n      {\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }" if (parenthesized_expression "((puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))" ( (binary_expression "(puVar29 < end) ||\n         ((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))" (parenthesized_expression "(puVar29 < end)" ( (binary_expression "puVar29 < end" identifier < identifier) )) || (parenthesized_expression "((puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))" ( (parenthesized_expression "(puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))" ( (comma_expression "puVar30 = (uchar *)0x0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" (assignment_expression "puVar30 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" (binary_expression "puVar13 < end" identifier < identifier) && (parenthesized_expression "(uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" ( (comma_expression "uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8" (assignment_expression "uVar5 = iVar3 - (int)puVar13" identifier = (binary_expression "iVar3 - (int)puVar13" identifier - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar5 - 1 < 8" (binary_expression "uVar5 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);\n      }" { (expression_statement "puVar30 = (uchar *)(*byte_get)(puVar13,uVar5);" (assignment_expression "puVar30 = (uchar *)(*byte_get)(puVar13,uVar5)" identifier = (cast_expression "(uchar *)(*byte_get)(puVar13,uVar5)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*byte_get)(puVar13,uVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar13,uVar5)" ( identifier , identifier ))))) ;) })) (expression_statement "pcVar7 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";" (assignment_expression "pcVar7 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n"" identifier = (string_literal "" DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_0014857d:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);" statement_identifier : (expression_statement "pcVar7 = (char *)dcgettext(0,pcVar7,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,pcVar7,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar7,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar7,5)" identifier (argument_list "(0,pcVar7,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar7,dVar11 & 0xffffffff,puVar30);" (call_expression "printf(pcVar7,dVar11 & 0xffffffff,puVar30)" identifier (argument_list "(pcVar7,dVar11 & 0xffffffff,puVar30)" ( identifier , (binary_expression "dVar11 & 0xffffffff" identifier & number_literal) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      puVar29 = puVar13 + uVar28;\n      uVar5 = uVar28;\n      if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }\n      pcVar7 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);\n      printf(pcVar7,eVar9);" case number_literal : (expression_statement "puVar29 = puVar13 + uVar28;" (assignment_expression "puVar29 = puVar13 + uVar28" identifier = (binary_expression "puVar13 + uVar28" identifier + identifier)) ;) (expression_statement "uVar5 = uVar28;" (assignment_expression "uVar5 = uVar28" identifier = identifier) ;) (if_statement "if ((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))) {\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }" if (parenthesized_expression "((puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))))" ( (binary_expression "(puVar29 < end) ||\n         ((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))" (parenthesized_expression "(puVar29 < end)" ( (binary_expression "puVar29 < end" identifier < identifier) )) || (parenthesized_expression "((eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)))" ( (parenthesized_expression "(eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8))" ( (comma_expression "eVar9 = 0, puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" (assignment_expression "eVar9 = 0" identifier = number_literal) , (binary_expression "puVar13 < end && (uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" (binary_expression "puVar13 < end" identifier < identifier) && (parenthesized_expression "(uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8)" ( (comma_expression "uVar5 = iVar3 - (int)puVar13, uVar5 - 1 < 8" (assignment_expression "uVar5 = iVar3 - (int)puVar13" identifier = (binary_expression "iVar3 - (int)puVar13" identifier - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar5 - 1 < 8" (binary_expression "uVar5 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        eVar9 = (*byte_get)(puVar13,uVar5);\n      }" { (expression_statement "eVar9 = (*byte_get)(puVar13,uVar5);" (assignment_expression "eVar9 = (*byte_get)(puVar13,uVar5)" identifier = (call_expression "(*byte_get)(puVar13,uVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar13,uVar5)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar7 = " DW_MACRO_import_sup - offset : 0x%lx\n";" (assignment_expression "pcVar7 = " DW_MACRO_import_sup - offset : 0x%lx\n"" identifier = (string_literal "" DW_MACRO_import_sup - offset : 0x%lx\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_001484c9:\n      pcVar7 = (char *)dcgettext(0,pcVar7,5);" statement_identifier : (expression_statement "pcVar7 = (char *)dcgettext(0,pcVar7,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,pcVar7,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar7,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar7,5)" identifier (argument_list "(0,pcVar7,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar7,eVar9);" (call_expression "printf(pcVar7,eVar9)" identifier (argument_list "(pcVar7,eVar9)" ( identifier , identifier ))) ;)) })) (goto_statement "goto LAB_001484e0;" goto statement_identifier ;) })) (goto_statement "goto LAB_0014818e;" goto statement_identifier ;) (while_statement "while ((uVar4 = *puVar30, uVar4 != '\0' && (uVar12 != 1))) {\nLAB_00148d9d:\n    uVar12 = uVar12 - 1;\n    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);\n    puVar30 = puVar30 + sVar15 + 1;\n    puVar27 = &bytes_read_1;\n    read_leb128(puVar30,&bytes_read_1,0,end_00);\n    puVar30 = puVar30 + bytes_read_1;\n    read_leb128(puVar30,puVar27,0,end_00);\n    uVar14 = (ulong)bytes_read_1;\n    read_leb128(puVar30 + uVar14,puVar27,0,end_00);\n    puVar30 = puVar30 + uVar14 + bytes_read_1;\n    if (end_00 <= puVar30) goto LAB_0014879b;\n  }" while (parenthesized_expression "((uVar4 = *puVar30, uVar4 != '\0' && (uVar12 != 1)))" ( (parenthesized_expression "(uVar4 = *puVar30, uVar4 != '\0' && (uVar12 != 1))" ( (comma_expression "uVar4 = *puVar30, uVar4 != '\0' && (uVar12 != 1)" (assignment_expression "uVar4 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) , (binary_expression "uVar4 != '\0' && (uVar12 != 1)" (binary_expression "uVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(uVar12 != 1)" ( (binary_expression "uVar12 != 1" identifier != number_literal) )))) )) )) (compound_statement "{\nLAB_00148d9d:\n    uVar12 = uVar12 - 1;\n    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);\n    puVar30 = puVar30 + sVar15 + 1;\n    puVar27 = &bytes_read_1;\n    read_leb128(puVar30,&bytes_read_1,0,end_00);\n    puVar30 = puVar30 + bytes_read_1;\n    read_leb128(puVar30,puVar27,0,end_00);\n    uVar14 = (ulong)bytes_read_1;\n    read_leb128(puVar30 + uVar14,puVar27,0,end_00);\n    puVar30 = puVar30 + uVar14 + bytes_read_1;\n    if (end_00 <= puVar30) goto LAB_0014879b;\n  }" { (labeled_statement "LAB_00148d9d:\n    uVar12 = uVar12 - 1;" statement_identifier : (expression_statement "uVar12 = uVar12 - 1;" (assignment_expression "uVar12 = uVar12 - 1" identifier = (binary_expression "uVar12 - 1" identifier - number_literal)) ;)) (expression_statement "sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);" (assignment_expression "sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30)" identifier = (call_expression "strnlen((char *)puVar30,(long)end_00 - (long)puVar30)" identifier (argument_list "((char *)puVar30,(long)end_00 - (long)puVar30)" ( (cast_expression "(char *)puVar30" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(long)end_00 - (long)puVar30" (cast_expression "(long)end_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar30" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "puVar30 = puVar30 + sVar15 + 1;" (assignment_expression "puVar30 = puVar30 + sVar15 + 1" identifier = (binary_expression "puVar30 + sVar15 + 1" (binary_expression "puVar30 + sVar15" identifier + identifier) + number_literal)) ;) (expression_statement "puVar27 = &bytes_read_1;" (assignment_expression "puVar27 = &bytes_read_1" identifier = (pointer_expression "&bytes_read_1" & identifier)) ;) (expression_statement "read_leb128(puVar30,&bytes_read_1,0,end_00);" (call_expression "read_leb128(puVar30,&bytes_read_1,0,end_00)" identifier (argument_list "(puVar30,&bytes_read_1,0,end_00)" ( identifier , (pointer_expression "&bytes_read_1" & identifier) , number_literal , identifier ))) ;) (expression_statement "puVar30 = puVar30 + bytes_read_1;" (assignment_expression "puVar30 = puVar30 + bytes_read_1" identifier = (binary_expression "puVar30 + bytes_read_1" identifier + identifier)) ;) (expression_statement "read_leb128(puVar30,puVar27,0,end_00);" (call_expression "read_leb128(puVar30,puVar27,0,end_00)" identifier (argument_list "(puVar30,puVar27,0,end_00)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar14 = (ulong)bytes_read_1;" (assignment_expression "uVar14 = (ulong)bytes_read_1" identifier = (cast_expression "(ulong)bytes_read_1" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "read_leb128(puVar30 + uVar14,puVar27,0,end_00);" (call_expression "read_leb128(puVar30 + uVar14,puVar27,0,end_00)" identifier (argument_list "(puVar30 + uVar14,puVar27,0,end_00)" ( (binary_expression "puVar30 + uVar14" identifier + identifier) , identifier , number_literal , identifier ))) ;) (expression_statement "puVar30 = puVar30 + uVar14 + bytes_read_1;" (assignment_expression "puVar30 = puVar30 + uVar14 + bytes_read_1" identifier = (binary_expression "puVar30 + uVar14 + bytes_read_1" (binary_expression "puVar30 + uVar14" identifier + identifier) + identifier)) ;) (if_statement "if (end_00 <= puVar30) goto LAB_0014879b;" if (parenthesized_expression "(end_00 <= puVar30)" ( (binary_expression "end_00 <= puVar30" identifier <= identifier) )) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)) })) (labeled_statement "LAB_00148eec:\n  if (uVar4 != '\0') {\n    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);\n    if (puVar30 + sVar15 + 1 < end_00) {\n      dVar16 = read_leb128(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00);\n      if (dVar16 == 0) {\n        local_890 = "";\n        puVar22 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5);\n        printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (dVar16 < 2)) {\n          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        dVar16 = dVar16 - 1;\n        sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890);\n        local_890 = local_890 + sVar15 + 1;\n      } while (local_890 < end_00);\n    }\n  }" statement_identifier : (if_statement "if (uVar4 != '\0') {\n    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);\n    if (puVar30 + sVar15 + 1 < end_00) {\n      dVar16 = read_leb128(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00);\n      if (dVar16 == 0) {\n        local_890 = "";\n        puVar22 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5);\n        printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (dVar16 < 2)) {\n          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        dVar16 = dVar16 - 1;\n        sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890);\n        local_890 = local_890 + sVar15 + 1;\n      } while (local_890 < end_00);\n    }\n  }" if (parenthesized_expression "(uVar4 != '\0')" ( (binary_expression "uVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);\n    if (puVar30 + sVar15 + 1 < end_00) {\n      dVar16 = read_leb128(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00);\n      if (dVar16 == 0) {\n        local_890 = "";\n        puVar22 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5);\n        printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (dVar16 < 2)) {\n          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        dVar16 = dVar16 - 1;\n        sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890);\n        local_890 = local_890 + sVar15 + 1;\n      } while (local_890 < end_00);\n    }\n  }" { (expression_statement "sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30);" (assignment_expression "sVar15 = strnlen((char *)puVar30,(long)end_00 - (long)puVar30)" identifier = (call_expression "strnlen((char *)puVar30,(long)end_00 - (long)puVar30)" identifier (argument_list "((char *)puVar30,(long)end_00 - (long)puVar30)" ( (cast_expression "(char *)puVar30" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(long)end_00 - (long)puVar30" (cast_expression "(long)end_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar30" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (if_statement "if (puVar30 + sVar15 + 1 < end_00) {\n      dVar16 = read_leb128(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00);\n      if (dVar16 == 0) {\n        local_890 = "";\n        puVar22 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5);\n        printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (dVar16 < 2)) {\n          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        dVar16 = dVar16 - 1;\n        sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890);\n        local_890 = local_890 + sVar15 + 1;\n      } while (local_890 < end_00);\n    }" if (parenthesized_expression "(puVar30 + sVar15 + 1 < end_00)" ( (binary_expression "puVar30 + sVar15 + 1 < end_00" (binary_expression "puVar30 + sVar15 + 1" (binary_expression "puVar30 + sVar15" identifier + identifier) + number_literal) < identifier) )) (compound_statement "{\n      dVar16 = read_leb128(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00);\n      if (dVar16 == 0) {\n        local_890 = "";\n        puVar22 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5);\n        printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (dVar16 < 2)) {\n          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        dVar16 = dVar16 - 1;\n        sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890);\n        local_890 = local_890 + sVar15 + 1;\n      } while (local_890 < end_00);\n    }" { (expression_statement "dVar16 = read_leb128(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00);" (assignment_expression "dVar16 = read_leb128(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00)" identifier = (call_expression "read_leb128(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00)" identifier (argument_list "(puVar30 + sVar15 + 1,&bytes_read_1,0,end_00)" ( (binary_expression "puVar30 + sVar15 + 1" (binary_expression "puVar30 + sVar15" identifier + identifier) + number_literal) , (pointer_expression "&bytes_read_1" & identifier) , number_literal , identifier )))) ;) (if_statement "if (dVar16 == 0) {\n        local_890 = "";\n        puVar22 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5);\n        printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22);\n        goto LAB_001484e0;\n      }" if (parenthesized_expression "(dVar16 == 0)" ( (binary_expression "dVar16 == 0" identifier == number_literal) )) (compound_statement "{\n        local_890 = "";\n        puVar22 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5);\n        printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22);\n        goto LAB_001484e0;\n      }" { (expression_statement "local_890 = "";" (assignment_expression "local_890 = """ identifier = (string_literal """" " ")) ;) (expression_statement "puVar22 = &DAT_00169c35;" (assignment_expression "puVar22 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (labeled_statement "LAB_00148fc0:\n        pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5);" statement_identifier : (expression_statement "pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5)" identifier (argument_list "(0,\n                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                   ,5)" ( number_literal , (string_literal "" DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22);" (call_expression "printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22)" identifier (argument_list "(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff,local_890,puVar22)" ( identifier , (binary_expression "dVar11 & 0xffffffff" identifier & number_literal) , (binary_expression "dVar21 & 0xffffffff" identifier & number_literal) , identifier , identifier ))) ;) (goto_statement "goto LAB_001484e0;" goto statement_identifier ;) })) (do_statement "do {\n        if ((*local_890 == '\0') || (dVar16 < 2)) {\n          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        dVar16 = dVar16 - 1;\n        sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890);\n        local_890 = local_890 + sVar15 + 1;\n      } while (local_890 < end_00);" do (compound_statement "{\n        if ((*local_890 == '\0') || (dVar16 < 2)) {\n          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        dVar16 = dVar16 - 1;\n        sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890);\n        local_890 = local_890 + sVar15 + 1;\n      }" { (if_statement "if ((*local_890 == '\0') || (dVar16 < 2)) {\n          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }" if (parenthesized_expression "((*local_890 == '\0') || (dVar16 < 2))" ( (binary_expression "(*local_890 == '\0') || (dVar16 < 2)" (parenthesized_expression "(*local_890 == '\0')" ( (binary_expression "*local_890 == '\0'" (pointer_expression "*local_890" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(dVar16 < 2)" ( (binary_expression "dVar16 < 2" identifier < number_literal) ))) )) (compound_statement "{\n          if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }" { (if_statement "if ((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;" if (parenthesized_expression "((local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0'))" ( (binary_expression "(local_890 < end_00) && (puVar22 = &DAT_0016ae1e, *local_890 != '\0')" (parenthesized_expression "(local_890 < end_00)" ( (binary_expression "local_890 < end_00" identifier < identifier) )) && (parenthesized_expression "(puVar22 = &DAT_0016ae1e, *local_890 != '\0')" ( (comma_expression "puVar22 = &DAT_0016ae1e, *local_890 != '\0'" (assignment_expression "puVar22 = &DAT_0016ae1e" identifier = (pointer_expression "&DAT_0016ae1e" & identifier)) , (binary_expression "*local_890 != '\0'" (pointer_expression "*local_890" * identifier) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_00148fc0;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "dVar16 = dVar16 - 1;" (assignment_expression "dVar16 = dVar16 - 1" identifier = (binary_expression "dVar16 - 1" identifier - number_literal)) ;) (expression_statement "sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890);" (assignment_expression "sVar15 = strnlen((char *)local_890,(long)end_00 - (long)local_890)" identifier = (call_expression "strnlen((char *)local_890,(long)end_00 - (long)local_890)" identifier (argument_list "((char *)local_890,(long)end_00 - (long)local_890)" ( (cast_expression "(char *)local_890" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(long)end_00 - (long)local_890" (cast_expression "(long)end_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)local_890" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "local_890 = local_890 + sVar15 + 1;" (assignment_expression "local_890 = local_890 + sVar15 + 1" identifier = (binary_expression "local_890 + sVar15 + 1" (binary_expression "local_890 + sVar15" identifier + identifier) + number_literal)) ;) }) while (parenthesized_expression "(local_890 < end_00)" ( (binary_expression "local_890 < end_00" identifier < identifier) )) ;) })) }))) (labeled_statement "LAB_0014879b:\n  pcVar7 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);" statement_identifier : (expression_statement "pcVar7 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" identifier (argument_list "(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" ( number_literal , (string_literal "" DW_MACRO_start_file - lineno: %d filenum: %d\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff);" (call_expression "printf(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff)" identifier (argument_list "(pcVar7,dVar11 & 0xffffffff,dVar21 & 0xffffffff)" ( identifier , (binary_expression "dVar11 & 0xffffffff" identifier & number_literal) , (binary_expression "dVar21 & 0xffffffff" identifier & number_literal) ))) ;) (labeled_statement "LAB_001484e0:\n  if (end <= puVar29) goto LAB_0014818e;" statement_identifier : (if_statement "if (end <= puVar29) goto LAB_0014818e;" if (parenthesized_expression "(end <= puVar29)" ( (binary_expression "end <= puVar29" identifier <= identifier) )) (goto_statement "goto LAB_0014818e;" goto statement_identifier ;))) (expression_statement "puVar13 = puVar29 + 1;" (assignment_expression "puVar13 = puVar29 + 1" identifier = (binary_expression "puVar29 + 1" identifier + number_literal)) ;) (if_statement "if (end <= puVar13) goto LAB_00148430;" if (parenthesized_expression "(end <= puVar13)" ( (binary_expression "end <= puVar13" identifier <= identifier) )) (goto_statement "goto LAB_00148430;" goto statement_identifier ;)) (labeled_statement "LAB_001484f6:\n  uVar12 = (*byte_get)(puVar29,1);" statement_identifier : (expression_statement "uVar12 = (*byte_get)(puVar29,1);" (assignment_expression "uVar12 = (*byte_get)(puVar29,1)" identifier = (call_expression "(*byte_get)(puVar29,1)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar29,1)" ( identifier , number_literal )))) ;)) (if_statement "if ((int)uVar12 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }" if (parenthesized_expression "((int)uVar12 == 0)" ( (binary_expression "(int)uVar12 == 0" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n    putchar(10);\n    goto LAB_0014807f;\n  }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (goto_statement "goto LAB_0014807f;" goto statement_identifier ;) })) (goto_statement "goto LAB_00148456;" goto statement_identifier ;) })))
(translation_unit "undefined8 FUN_00148020(long param_1,undefined8 param_2)\n\n{\n  uint uVar1;\n  char *pcVar2;\n  int iVar3;\n  char cVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  ulong uVar12;\n  char *pcVar13;\n  ulong *puVar14;\n  ulong uVar15;\n  ulong uVar16;\n  size_t sVar17;\n  char *pcVar18;\n  ulong uVar19;\n  ulong uVar20;\n  char *pcVar21;\n  char *pcVar22;\n  undefined1 *puVar23;\n  long lVar24;\n  char *pcVar25;\n  ulong uVar26;\n  long lVar27;\n  long lVar28;\n  uint uVar29;\n  ulong uVar30;\n  char *pcVar31;\n  byte bVar32;\n  char *local_890;\n  ulong local_878;\n  ulong *local_868;\n  uint local_840;\n  uint local_83c;\n  ulong local_838 [257];\n  \n  bVar32 = 0;\n  pcVar2 = *(char **)(param_1 + 0x20);\n  pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);\n  FUN_0013e500(10);\n  FUN_0013e500(4,param_2);\n  FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n  pcVar25 = pcVar2;\n  if (pcVar21 <= pcVar2) {\n    return 1;\n  }\nLAB_0014807f:\n  pcVar13 = pcVar25 + 2;\n  if (pcVar13 < pcVar21) {\n    lVar24 = 2;\n  }\n  else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }\n  uVar5 = (*DAT_00196f88)(pcVar25,lVar24);\n  if (1 < uVar5 - 4) {\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }\n  pcVar31 = pcVar25 + 3;\n  if (pcVar21 <= pcVar31) {\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }\n  lVar24 = 1;\nLAB_001481bd:\n  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);\n  uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;\n  pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n  printf(pcVar13,(long)pcVar25 - (long)pcVar2);\n  pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n  printf(pcVar25,(ulong)uVar5);\n  pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n  printf(pcVar25,(ulong)uVar29);\n  iVar3 = (int)pcVar21;\n  if ((uVar12 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }\n  if ((uVar12 & 4) == 0) {\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }\n  else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }\n  putchar(10);\n  if (pcVar13 < pcVar21) {\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }\n  goto LAB_0014818e;\n  while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }\nLAB_00148eec:\n  if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }\nLAB_0014879b:\n  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);\n  printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);\nLAB_001484e0:\n  if (pcVar21 <= pcVar13) goto LAB_0014818e;\n  pcVar25 = pcVar13 + 1;\n  if (pcVar21 <= pcVar25) goto LAB_00148430;\nLAB_001484f6:\n  uVar6 = (*DAT_00196f88)(pcVar13,1);\n  if (uVar6 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }\n  goto LAB_00148456;\n}\n\n" (function_definition "undefined8 FUN_00148020(long param_1,undefined8 param_2)\n\n{\n  uint uVar1;\n  char *pcVar2;\n  int iVar3;\n  char cVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  ulong uVar12;\n  char *pcVar13;\n  ulong *puVar14;\n  ulong uVar15;\n  ulong uVar16;\n  size_t sVar17;\n  char *pcVar18;\n  ulong uVar19;\n  ulong uVar20;\n  char *pcVar21;\n  char *pcVar22;\n  undefined1 *puVar23;\n  long lVar24;\n  char *pcVar25;\n  ulong uVar26;\n  long lVar27;\n  long lVar28;\n  uint uVar29;\n  ulong uVar30;\n  char *pcVar31;\n  byte bVar32;\n  char *local_890;\n  ulong local_878;\n  ulong *local_868;\n  uint local_840;\n  uint local_83c;\n  ulong local_838 [257];\n  \n  bVar32 = 0;\n  pcVar2 = *(char **)(param_1 + 0x20);\n  pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);\n  FUN_0013e500(10);\n  FUN_0013e500(4,param_2);\n  FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n  pcVar25 = pcVar2;\n  if (pcVar21 <= pcVar2) {\n    return 1;\n  }\nLAB_0014807f:\n  pcVar13 = pcVar25 + 2;\n  if (pcVar13 < pcVar21) {\n    lVar24 = 2;\n  }\n  else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }\n  uVar5 = (*DAT_00196f88)(pcVar25,lVar24);\n  if (1 < uVar5 - 4) {\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }\n  pcVar31 = pcVar25 + 3;\n  if (pcVar21 <= pcVar31) {\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }\n  lVar24 = 1;\nLAB_001481bd:\n  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);\n  uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;\n  pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n  printf(pcVar13,(long)pcVar25 - (long)pcVar2);\n  pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n  printf(pcVar25,(ulong)uVar5);\n  pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n  printf(pcVar25,(ulong)uVar29);\n  iVar3 = (int)pcVar21;\n  if ((uVar12 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }\n  if ((uVar12 & 4) == 0) {\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }\n  else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }\n  putchar(10);\n  if (pcVar13 < pcVar21) {\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }\n  goto LAB_0014818e;\n  while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }\nLAB_00148eec:\n  if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }\nLAB_0014879b:\n  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);\n  printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);\nLAB_001484e0:\n  if (pcVar21 <= pcVar13) goto LAB_0014818e;\n  pcVar25 = pcVar13 + 1;\n  if (pcVar21 <= pcVar25) goto LAB_00148430;\nLAB_001484f6:\n  uVar6 = (*DAT_00196f88)(pcVar13,1);\n  if (uVar6 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }\n  goto LAB_00148456;\n}" type_identifier (function_declarator "FUN_00148020(long param_1,undefined8 param_2)" identifier (parameter_list "(long param_1,undefined8 param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  char *pcVar2;\n  int iVar3;\n  char cVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  ulong uVar12;\n  char *pcVar13;\n  ulong *puVar14;\n  ulong uVar15;\n  ulong uVar16;\n  size_t sVar17;\n  char *pcVar18;\n  ulong uVar19;\n  ulong uVar20;\n  char *pcVar21;\n  char *pcVar22;\n  undefined1 *puVar23;\n  long lVar24;\n  char *pcVar25;\n  ulong uVar26;\n  long lVar27;\n  long lVar28;\n  uint uVar29;\n  ulong uVar30;\n  char *pcVar31;\n  byte bVar32;\n  char *local_890;\n  ulong local_878;\n  ulong *local_868;\n  uint local_840;\n  uint local_83c;\n  ulong local_838 [257];\n  \n  bVar32 = 0;\n  pcVar2 = *(char **)(param_1 + 0x20);\n  pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);\n  FUN_0013e500(10);\n  FUN_0013e500(4,param_2);\n  FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n  pcVar25 = pcVar2;\n  if (pcVar21 <= pcVar2) {\n    return 1;\n  }\nLAB_0014807f:\n  pcVar13 = pcVar25 + 2;\n  if (pcVar13 < pcVar21) {\n    lVar24 = 2;\n  }\n  else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }\n  uVar5 = (*DAT_00196f88)(pcVar25,lVar24);\n  if (1 < uVar5 - 4) {\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }\n  pcVar31 = pcVar25 + 3;\n  if (pcVar21 <= pcVar31) {\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }\n  lVar24 = 1;\nLAB_001481bd:\n  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);\n  uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;\n  pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n  printf(pcVar13,(long)pcVar25 - (long)pcVar2);\n  pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n  printf(pcVar25,(ulong)uVar5);\n  pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n  printf(pcVar25,(ulong)uVar29);\n  iVar3 = (int)pcVar21;\n  if ((uVar12 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }\n  if ((uVar12 & 4) == 0) {\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }\n  else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }\n  putchar(10);\n  if (pcVar13 < pcVar21) {\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }\n  goto LAB_0014818e;\n  while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }\nLAB_00148eec:\n  if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }\nLAB_0014879b:\n  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);\n  printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);\nLAB_001484e0:\n  if (pcVar21 <= pcVar13) goto LAB_0014818e;\n  pcVar25 = pcVar13 + 1;\n  if (pcVar21 <= pcVar25) goto LAB_00148430;\nLAB_001484f6:\n  uVar6 = (*DAT_00196f88)(pcVar13,1);\n  if (uVar6 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }\n  goto LAB_00148456;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "ulong *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "ulong uVar15;" type_identifier identifier ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "ulong uVar19;" type_identifier identifier ;) (declaration "ulong uVar20;" type_identifier identifier ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "undefined1 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "long lVar24;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar25;" primitive_type (pointer_declarator "*pcVar25" * identifier) ;) (declaration "ulong uVar26;" type_identifier identifier ;) (declaration "long lVar27;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar28;" (sized_type_specifier "long" long) identifier ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "ulong uVar30;" type_identifier identifier ;) (declaration "char *pcVar31;" primitive_type (pointer_declarator "*pcVar31" * identifier) ;) (declaration "byte bVar32;" type_identifier identifier ;) (declaration "char *local_890;" primitive_type (pointer_declarator "*local_890" * identifier) ;) (declaration "ulong local_878;" type_identifier identifier ;) (declaration "ulong *local_868;" type_identifier (pointer_declarator "*local_868" * identifier) ;) (declaration "uint local_840;" type_identifier identifier ;) (declaration "uint local_83c;" type_identifier identifier ;) (declaration "ulong local_838 [257];" type_identifier (array_declarator "local_838 [257]" identifier [ number_literal ]) ;) (expression_statement "bVar32 = 0;" (assignment_expression "bVar32 = 0" identifier = number_literal) ;) (expression_statement "pcVar2 = *(char **)(param_1 + 0x20);" (assignment_expression "pcVar2 = *(char **)(param_1 + 0x20)" identifier = (pointer_expression "*(char **)(param_1 + 0x20)" * (cast_expression "(char **)(param_1 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);" (assignment_expression "pcVar21 = pcVar2 + *(long *)(param_1 + 0x30)" identifier = (binary_expression "pcVar2 + *(long *)(param_1 + 0x30)" identifier + (pointer_expression "*(long *)(param_1 + 0x30)" * (cast_expression "(long *)(param_1 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))))) ;) (expression_statement "FUN_0013e500(10);" (call_expression "FUN_0013e500(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "FUN_0013e500(4,param_2);" (call_expression "FUN_0013e500(4,param_2)" identifier (argument_list "(4,param_2)" ( number_literal , identifier ))) ;) (expression_statement "FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);" (call_expression "FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , (binary_expression "param_1 + 0x18" identifier + number_literal) ))) ;) (expression_statement "pcVar25 = pcVar2;" (assignment_expression "pcVar25 = pcVar2" identifier = identifier) ;) (if_statement "if (pcVar21 <= pcVar2) {\n    return 1;\n  }" if (parenthesized_expression "(pcVar21 <= pcVar2)" ( (binary_expression "pcVar21 <= pcVar2" identifier <= identifier) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_0014807f:\n  pcVar13 = pcVar25 + 2;" statement_identifier : (expression_statement "pcVar13 = pcVar25 + 2;" (assignment_expression "pcVar13 = pcVar25 + 2" identifier = (binary_expression "pcVar25 + 2" identifier + number_literal)) ;)) (if_statement "if (pcVar13 < pcVar21) {\n    lVar24 = 2;\n  }\n  else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }" if (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) (compound_statement "{\n    lVar24 = 2;\n  }" { (expression_statement "lVar24 = 2;" (assignment_expression "lVar24 = 2" identifier = number_literal) ;) }) (else_clause "else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }" else (compound_statement "{\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }" { (expression_statement "lVar24 = (long)pcVar21 - (long)pcVar25;" (assignment_expression "lVar24 = (long)pcVar21 - (long)pcVar25" identifier = (binary_expression "(long)pcVar21 - (long)pcVar25" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if (7 < (int)lVar24 - 1U) goto LAB_0014809e;" if (parenthesized_expression "(7 < (int)lVar24 - 1U)" ( (binary_expression "7 < (int)lVar24 - 1U" number_literal < (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) )) (goto_statement "goto LAB_0014809e;" goto statement_identifier ;)) }))) (expression_statement "uVar5 = (*DAT_00196f88)(pcVar25,lVar24);" (assignment_expression "uVar5 = (*DAT_00196f88)(pcVar25,lVar24)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,lVar24)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,lVar24)" ( identifier , identifier )))) ;) (if_statement "if (1 < uVar5 - 4) {\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }" if (parenthesized_expression "(1 < uVar5 - 4)" ( (binary_expression "1 < uVar5 - 4" number_literal < (binary_expression "uVar5 - 4" identifier - number_literal)) )) (compound_statement "{\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }" { (labeled_statement "LAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";" statement_identifier : (expression_statement "pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";" (assignment_expression "pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n"" identifier = (string_literal ""Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n"" " string_content escape_sequence ")) ;)) (expression_statement "uVar11 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar11 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);" statement_identifier : (expression_statement "uVar10 = dcgettext(0,pcVar25,5);" (assignment_expression "uVar10 = dcgettext(0,pcVar25,5)" identifier = (call_expression "dcgettext(0,pcVar25,5)" identifier (argument_list "(0,pcVar25,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "error(uVar10,uVar11);" (call_expression "error(uVar10,uVar11)" identifier (argument_list "(uVar10,uVar11)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar31 = pcVar25 + 3;" (assignment_expression "pcVar31 = pcVar25 + 3" identifier = (binary_expression "pcVar25 + 3" identifier + number_literal)) ;) (if_statement "if (pcVar21 <= pcVar31) {\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }" if (parenthesized_expression "(pcVar21 <= pcVar31)" ( (binary_expression "pcVar21 <= pcVar31" identifier <= identifier) )) (compound_statement "{\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }" { (if_statement "if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;" if (parenthesized_expression "((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))" ( (binary_expression "(pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8)" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) && (parenthesized_expression "(lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8)" ( (comma_expression "lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8" (assignment_expression "lVar24 = (long)pcVar21 - (long)pcVar13" identifier = (binary_expression "(long)pcVar21 - (long)pcVar13" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar24 - 1U < 8" (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_001481bd;" goto statement_identifier ;)) (expression_statement "pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);" (assignment_expression "pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset:                      0x%lx\n",5)" identifier (argument_list "(0,"  Offset:                      0x%lx\n",5)" ( number_literal , (string_literal ""  Offset:                      0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar21,(long)pcVar25 - (long)pcVar2);" (call_expression "printf(pcVar21,(long)pcVar25 - (long)pcVar2)" identifier (argument_list "(pcVar21,(long)pcVar25 - (long)pcVar2)" ( identifier , (binary_expression "(long)pcVar25 - (long)pcVar2" (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ;) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version:                     %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version:                     %d\n",5)" identifier (argument_list "(0,"  Version:                     %d\n",5)" ( number_literal , (string_literal ""  Version:                     %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,(ulong)uVar5);" (call_expression "printf(pcVar25,(ulong)uVar5)" identifier (argument_list "(pcVar25,(ulong)uVar5)" ( identifier , (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset size:                 %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset size:                 %d\n",5)" identifier (argument_list "(0,"  Offset size:                 %d\n",5)" ( number_literal , (string_literal ""  Offset size:                 %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,4);" (call_expression "printf(pcVar25,4)" identifier (argument_list "(pcVar25,4)" ( identifier , number_literal ))) ;) (goto_statement "goto LAB_00148184;" goto statement_identifier ;) })) (expression_statement "lVar24 = 1;" (assignment_expression "lVar24 = 1" identifier = number_literal) ;) (labeled_statement "LAB_001481bd:\n  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);" statement_identifier : (expression_statement "uVar12 = (*DAT_00196f88)(pcVar13,lVar24);" (assignment_expression "uVar12 = (*DAT_00196f88)(pcVar13,lVar24)" identifier = (call_expression "(*DAT_00196f88)(pcVar13,lVar24)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar13,lVar24)" ( identifier , identifier )))) ;)) (expression_statement "uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;" (assignment_expression "uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8" identifier = (binary_expression "(-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8" (parenthesized_expression "(-(uint)((uVar12 & 1) == 0) & 0xfffffffc)" ( (binary_expression "-(uint)((uVar12 & 1) == 0) & 0xfffffffc" (unary_expression "-(uint)((uVar12 & 1) == 0)" - (call_expression "(uint)((uVar12 & 1) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar12 & 1) == 0)" ( (binary_expression "(uVar12 & 1) == 0" (parenthesized_expression "(uVar12 & 1)" ( (binary_expression "uVar12 & 1" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset:                      0x%lx\n",5)" identifier (argument_list "(0,"  Offset:                      0x%lx\n",5)" ( number_literal , (string_literal ""  Offset:                      0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar13,(long)pcVar25 - (long)pcVar2);" (call_expression "printf(pcVar13,(long)pcVar25 - (long)pcVar2)" identifier (argument_list "(pcVar13,(long)pcVar25 - (long)pcVar2)" ( identifier , (binary_expression "(long)pcVar25 - (long)pcVar2" (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ;) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version:                     %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version:                     %d\n",5)" identifier (argument_list "(0,"  Version:                     %d\n",5)" ( number_literal , (string_literal ""  Version:                     %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,(ulong)uVar5);" (call_expression "printf(pcVar25,(ulong)uVar5)" identifier (argument_list "(pcVar25,(ulong)uVar5)" ( identifier , (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset size:                 %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset size:                 %d\n",5)" identifier (argument_list "(0,"  Offset size:                 %d\n",5)" ( number_literal , (string_literal ""  Offset size:                 %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,(ulong)uVar29);" (call_expression "printf(pcVar25,(ulong)uVar29)" identifier (argument_list "(pcVar25,(ulong)uVar29)" ( identifier , (cast_expression "(ulong)uVar29" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "iVar3 = (int)pcVar21;" (assignment_expression "iVar3 = (int)pcVar21" identifier = (cast_expression "(int)pcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((uVar12 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }" if (parenthesized_expression "((uVar12 & 2) == 0)" ( (binary_expression "(uVar12 & 2) == 0" (parenthesized_expression "(uVar12 & 2)" ( (binary_expression "uVar12 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    local_878 = 0;\n  }" { (expression_statement "local_878 = 0;" (assignment_expression "local_878 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }" else (compound_statement "{\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }" { (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }" if (parenthesized_expression "((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar31 + uVar29 < pcVar21)" ( (binary_expression "pcVar31 + uVar29 < pcVar21" (binary_expression "pcVar31 + uVar29" identifier + identifier) < identifier) )) || (parenthesized_expression "((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))" ( (parenthesized_expression "(local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8))" ( (comma_expression "local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)" (assignment_expression "local_878 = 0" identifier = number_literal) , (binary_expression "pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)" (binary_expression "pcVar31 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar31" identifier = (binary_expression "iVar3 - (int)pcVar31" identifier - (cast_expression "(int)pcVar31" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }" { (expression_statement "local_878 = (*DAT_00196f88)(pcVar31,uVar6);" (assignment_expression "local_878 = (*DAT_00196f88)(pcVar31,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar31,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar31,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5)" identifier (argument_list "(0,"  Offset into .debug_line:     0x%lx\n",5)" ( number_literal , (string_literal ""  Offset into .debug_line:     0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,local_878);" (call_expression "printf(pcVar25,local_878)" identifier (argument_list "(pcVar25,local_878)" ( identifier , identifier ))) ;) (expression_statement "pcVar31 = pcVar31 + uVar29;" (assignment_expression "pcVar31 = pcVar31 + uVar29" identifier = (binary_expression "pcVar31 + uVar29" identifier + identifier)) ;) }))) (if_statement "if ((uVar12 & 4) == 0) {\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }\n  else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }" if (parenthesized_expression "((uVar12 & 4) == 0)" ( (binary_expression "(uVar12 & 4) == 0" (parenthesized_expression "(uVar12 & 4)" ( (binary_expression "uVar12 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }" { (expression_statement "local_868 = (ulong *)0x0;" (assignment_expression "local_868 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = pcVar31;" (assignment_expression "pcVar13 = pcVar31" identifier = identifier) ;) }) (else_clause "else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }" else (compound_statement "{\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }" { (expression_statement "pcVar13 = pcVar31 + 1;" (assignment_expression "pcVar13 = pcVar31 + 1" identifier = (binary_expression "pcVar31 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }" if (parenthesized_expression "(pcVar21 <= pcVar13)" ( (binary_expression "pcVar21 <= pcVar13" identifier <= identifier) )) (compound_statement "{\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }" { (if_statement "if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }" if (parenthesized_expression "((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8))" ( (binary_expression "(pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)" (parenthesized_expression "(pcVar31 < pcVar21)" ( (binary_expression "pcVar31 < pcVar21" identifier < identifier) )) && (parenthesized_expression "((iVar3 - (int)pcVar31) - 1U < 8)" ( (binary_expression "(iVar3 - (int)pcVar31) - 1U < 8" (binary_expression "(iVar3 - (int)pcVar31) - 1U" (parenthesized_expression "(iVar3 - (int)pcVar31)" ( (binary_expression "iVar3 - (int)pcVar31" identifier - (cast_expression "(int)pcVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal) ))) )) (compound_statement "{\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }" { (expression_statement "uVar6 = (*DAT_00196f88)(pcVar31);" (assignment_expression "uVar6 = (*DAT_00196f88)(pcVar31)" identifier = (call_expression "(*DAT_00196f88)(pcVar31)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar31)" ( identifier )))) ;) (expression_statement "puVar14 = local_838;" (assignment_expression "puVar14 = local_838" identifier = identifier) ;) (for_statement "for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }" for ( (assignment_expression "lVar24 = 0x100" identifier = number_literal) ; (binary_expression "lVar24 != 0" identifier != number_literal) ; (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ) (compound_statement "{\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }" { (expression_statement "*puVar14 = 0;" (assignment_expression "*puVar14 = 0" (pointer_expression "*puVar14" * identifier) = number_literal) ;) (expression_statement "puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;" (assignment_expression "puVar14 = puVar14 + (ulong)bVar32 * -2 + 1" identifier = (binary_expression "puVar14 + (ulong)bVar32 * -2 + 1" (binary_expression "puVar14 + (ulong)bVar32 * -2" identifier + (binary_expression "(ulong)bVar32 * -2" (cast_expression "(ulong)bVar32" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (uVar6 != 0) goto LAB_001482f8;" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001482f8;" goto statement_identifier ;)) })) (labeled_statement "LAB_00148184:\n      putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (labeled_statement "LAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);" statement_identifier : (expression_statement "uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);" (assignment_expression "uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5)" identifier = (call_expression "dcgettext(0,".debug_macro section not zero terminated\n",5)" identifier (argument_list "(0,".debug_macro section not zero terminated\n",5)" ( number_literal , (string_literal "".debug_macro section not zero terminated\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "error(uVar11);" (call_expression "error(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "local_868 = local_838;" (assignment_expression "local_868 = local_838" identifier = identifier) ;) (expression_statement "uVar6 = (*DAT_00196f88)(pcVar31,1);" (assignment_expression "uVar6 = (*DAT_00196f88)(pcVar31,1)" identifier = (call_expression "(*DAT_00196f88)(pcVar31,1)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar31,1)" ( identifier , number_literal )))) ;) (expression_statement "puVar14 = local_868;" (assignment_expression "puVar14 = local_868" identifier = identifier) ;) (for_statement "for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }" for ( (assignment_expression "lVar24 = 0x100" identifier = number_literal) ; (binary_expression "lVar24 != 0" identifier != number_literal) ; (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }" { (expression_statement "*puVar14 = 0;" (assignment_expression "*puVar14 = 0" (pointer_expression "*puVar14" * identifier) = number_literal) ;) (expression_statement "puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;" (assignment_expression "puVar14 = puVar14 + (ulong)bVar32 * -2 + 1" identifier = (binary_expression "puVar14 + (ulong)bVar32 * -2 + 1" (binary_expression "puVar14 + (ulong)bVar32 * -2" identifier + (binary_expression "(ulong)bVar32 * -2" (cast_expression "(ulong)bVar32" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      putchar(10);\n      goto LAB_0014840e;\n    }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (goto_statement "goto LAB_0014840e;" goto statement_identifier ;) })) (labeled_statement "LAB_001482f8:\n    local_868 = local_838;" statement_identifier : (expression_statement "local_868 = local_838;" (assignment_expression "local_868 = local_838" identifier = identifier) ;)) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Extension opcode arguments:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Extension opcode arguments:\n",5)" identifier (argument_list "(0,"  Extension opcode arguments:\n",5)" ( number_literal , (string_literal ""  Extension opcode arguments:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25);" (call_expression "printf(pcVar25)" identifier (argument_list "(pcVar25)" ( identifier ))) ;) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (do_statement "do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);" do (compound_statement "{\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    }" { (expression_statement "pcVar25 = pcVar13 + 1;" (assignment_expression "pcVar25 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }" if (parenthesized_expression "(pcVar25 < pcVar21)" ( (binary_expression "pcVar25 < pcVar21" identifier < identifier) )) (compound_statement "{\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }" { (expression_statement "lVar24 = 1;" (assignment_expression "lVar24 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);" statement_identifier : (expression_statement "uVar8 = (*DAT_00196f88)(pcVar13,lVar24);" (assignment_expression "uVar8 = (*DAT_00196f88)(pcVar13,lVar24)" identifier = (call_expression "(*DAT_00196f88)(pcVar13,lVar24)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar13,lVar24)" ( identifier , identifier )))) ;)) (expression_statement "uVar26 = (ulong)uVar8;" (assignment_expression "uVar26 = (ulong)uVar8" identifier = (cast_expression "(ulong)uVar8" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "puVar14 = local_868 + uVar8;" (assignment_expression "puVar14 = local_868 + uVar8" identifier = (binary_expression "local_868 + uVar8" identifier + identifier)) ;) }) (else_clause "else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }" else (compound_statement "{\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }" { (if_statement "if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;" if (parenthesized_expression "((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))" ( (binary_expression "(pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8)" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) && (parenthesized_expression "(lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8)" ( (comma_expression "lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8" (assignment_expression "lVar24 = (long)pcVar21 - (long)pcVar13" identifier = (binary_expression "(long)pcVar21 - (long)pcVar13" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar24 - 1U < 8" (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00148b15;" goto statement_identifier ;)) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "puVar14 = local_868;" (assignment_expression "puVar14 = local_868" identifier = identifier) ;) }))) (expression_statement "*puVar14 = (ulong)pcVar25;" (assignment_expression "*puVar14 = (ulong)pcVar25" (pointer_expression "*puVar14" * identifier) = (cast_expression "(ulong)pcVar25" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar13 = pcVar25 + local_840;" (assignment_expression "pcVar13 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (if_statement "if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }" { (expression_statement "pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5)" identifier (argument_list "(0,"    DW_MACRO_%02x has no arguments\n",5)" ( number_literal , (string_literal ""    DW_MACRO_%02x has no arguments\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,uVar26);" (call_expression "printf(pcVar25,uVar26)" identifier (argument_list "(pcVar25,uVar26)" ( identifier , identifier ))) ;) }) (else_clause "else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }" else (compound_statement "{\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }" { (expression_statement "lVar27 = 0;" (assignment_expression "lVar27 = 0" identifier = number_literal) ;) (expression_statement "pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5)" identifier = (cast_expression "(char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    DW_MACRO_%02x arguments: ",5)" identifier (argument_list "(0,"    DW_MACRO_%02x arguments: ",5)" ( number_literal , (string_literal ""    DW_MACRO_%02x arguments: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,uVar26);" (call_expression "printf(pcVar25,uVar26)" identifier (argument_list "(pcVar25,uVar26)" ( identifier , identifier ))) ;) (expression_statement "pcVar25 = pcVar13;" (assignment_expression "pcVar25 = pcVar13" identifier = identifier) ;) (do_statement "do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);" do (compound_statement "{\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        }" { (expression_statement "pcVar13 = pcVar25 + 1;" (assignment_expression "pcVar13 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }" if (parenthesized_expression "(pcVar21 <= pcVar13)" ( (binary_expression "pcVar21 <= pcVar13" identifier <= identifier) )) (compound_statement "{\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }" { (if_statement "if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;" if (parenthesized_expression "((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8))" ( (binary_expression "(pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)" (parenthesized_expression "(pcVar25 < pcVar21)" ( (binary_expression "pcVar25 < pcVar21" identifier < identifier) )) && (parenthesized_expression "(lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)" ( (comma_expression "lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8" (assignment_expression "lVar28 = (long)pcVar21 - (long)pcVar25" identifier = (binary_expression "(long)pcVar21 - (long)pcVar25" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar28 - 1U < 8" (binary_expression "(int)lVar28 - 1U" (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00148c15;" goto statement_identifier ;)) (if_statement "if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }" if (parenthesized_expression "(lVar27 == lVar24 + -1)" ( (binary_expression "lVar27 == lVar24 + -1" identifier == (binary_expression "lVar24 + -1" identifier + number_literal)) )) (compound_statement "{\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }" { (expression_statement "uVar11 = FUN_0013eaf0(0);" (assignment_expression "uVar11 = FUN_0013eaf0(0)" identifier = (call_expression "FUN_0013eaf0(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar25 = "\n";" (assignment_expression "pcVar25 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) }) (else_clause "else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }" else (compound_statement "{\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }" { (expression_statement "uVar11 = FUN_0013eaf0(0);" (assignment_expression "uVar11 = FUN_0013eaf0(0)" identifier = (call_expression "FUN_0013eaf0(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar25 = ", ";" (assignment_expression "pcVar25 = ", "" identifier = (string_literal "", "" " string_content ")) ;) }))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "printf("%s%s",uVar11,pcVar25);" (call_expression "printf("%s%s",uVar11,pcVar25)" identifier (argument_list "("%s%s",uVar11,pcVar25)" ( (string_literal ""%s%s"" " string_content ") , identifier , identifier ))) ;) (labeled_statement "LAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);" statement_identifier : (expression_statement "uVar11 = FUN_0013eaf0(uVar8);" (assignment_expression "uVar11 = FUN_0013eaf0(uVar8)" identifier = (call_expression "FUN_0013eaf0(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;)) (expression_statement "pcVar25 = "Invalid extension opcode form %s\n";" (assignment_expression "pcVar25 = "Invalid extension opcode form %s\n"" identifier = (string_literal ""Invalid extension opcode form %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_001480b3;" goto statement_identifier ;) })) (expression_statement "lVar28 = 1;" (assignment_expression "lVar28 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);" statement_identifier : (expression_statement "uVar8 = (*DAT_00196f88)(pcVar25,lVar28);" (assignment_expression "uVar8 = (*DAT_00196f88)(pcVar25,lVar28)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,lVar28)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,lVar28)" ( identifier , identifier )))) ;)) (expression_statement "pcVar25 = ", ";" (assignment_expression "pcVar25 = ", "" identifier = (string_literal "", "" " string_content ")) ;) (if_statement "if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }" if (parenthesized_expression "(lVar24 + -1 == lVar27)" ( (binary_expression "lVar24 + -1 == lVar27" (binary_expression "lVar24 + -1" identifier + number_literal) == identifier) )) (compound_statement "{\n            pcVar25 = "\n";\n          }" { (expression_statement "pcVar25 = "\n";" (assignment_expression "pcVar25 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) })) (expression_statement "uVar11 = FUN_0013eaf0(uVar8);" (assignment_expression "uVar11 = FUN_0013eaf0(uVar8)" identifier = (call_expression "FUN_0013eaf0(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "printf("%s%s",uVar11,pcVar25);" (call_expression "printf("%s%s",uVar11,pcVar25)" identifier (argument_list "("%s%s",uVar11,pcVar25)" ( (string_literal ""%s%s"" " string_content ") , identifier , identifier ))) ;) (if_statement "if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;" if (parenthesized_expression "((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0))" ( (binary_expression "(0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)" (parenthesized_expression "(0x17 < uVar8)" ( (binary_expression "0x17 < uVar8" number_literal < identifier) )) || (parenthesized_expression "((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)" ( (binary_expression "(1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0" (parenthesized_expression "(1L << ((byte)uVar8 & 0x3f) & 0x80fff8U)" ( (binary_expression "1L << ((byte)uVar8 & 0x3f) & 0x80fff8U" (binary_expression "1L << ((byte)uVar8 & 0x3f)" number_literal << (parenthesized_expression "((byte)uVar8 & 0x3f)" ( (binary_expression "(byte)uVar8 & 0x3f" (cast_expression "(byte)uVar8" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_00148bf3;" goto statement_identifier ;)) (expression_statement "lVar27 = lVar27 + 1;" (assignment_expression "lVar27 = lVar27 + 1" identifier = (binary_expression "lVar27 + 1" identifier + number_literal)) ;) (expression_statement "pcVar25 = pcVar13;" (assignment_expression "pcVar25 = pcVar13" identifier = identifier) ;) }) while (parenthesized_expression "(lVar27 != lVar24)" ( (binary_expression "lVar27 != lVar24" identifier != identifier) )) ;) }))) (expression_statement "uVar1 = uVar1 + 1;" (assignment_expression "uVar1 = uVar1 + 1" identifier = (binary_expression "uVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar1 < uVar6)" ( (binary_expression "uVar1 < uVar6" identifier < identifier) )) ;) }))) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (if_statement "if (pcVar13 < pcVar21) {\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }" if (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) (compound_statement "{\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }" { (labeled_statement "LAB_0014840e:\n    pcVar25 = pcVar13 + 1;" statement_identifier : (expression_statement "pcVar25 = pcVar13 + 1;" (assignment_expression "pcVar25 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;)) (if_statement "if (pcVar25 < pcVar21) goto LAB_001484f6;" if (parenthesized_expression "(pcVar25 < pcVar21)" ( (binary_expression "pcVar25 < pcVar21" identifier < identifier) )) (goto_statement "goto LAB_001484f6;" goto statement_identifier ;)) (labeled_statement "LAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }" statement_identifier : (if_statement "if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }" if (parenthesized_expression "((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0))" ( (binary_expression "(7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)" (parenthesized_expression "(7 < (iVar3 - (int)pcVar13) - 1U)" ( (binary_expression "7 < (iVar3 - (int)pcVar13) - 1U" number_literal < (binary_expression "(iVar3 - (int)pcVar13) - 1U" (parenthesized_expression "(iVar3 - (int)pcVar13)" ( (binary_expression "iVar3 - (int)pcVar13" identifier - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) )) || (parenthesized_expression "(uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)" ( (comma_expression "uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0" (assignment_expression "uVar6 = (*DAT_00196f88)(pcVar13)" identifier = (call_expression "(*DAT_00196f88)(pcVar13)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar13)" ( identifier )))) , (binary_expression "uVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      putchar(10);\n      return 1;\n    }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (return_statement "return 1;" return number_literal ;) }))) (labeled_statement "LAB_00148456:\n    uVar26 = (ulong)uVar6;" statement_identifier : (expression_statement "uVar26 = (ulong)uVar6;" (assignment_expression "uVar26 = (ulong)uVar6" identifier = (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) (expression_statement "pcVar13 = pcVar25;" (assignment_expression "pcVar13 = pcVar25" identifier = identifier) ;) (switch_statement "switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }" switch (parenthesized_expression "(uVar26)" ( identifier )) (compound_statement "{\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }" { (case_statement "default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;" default : (if_statement "if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }" if (parenthesized_expression "((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0))" ( (binary_expression "(local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)" (parenthesized_expression "(local_868 == (ulong *)0x0)" ( (binary_expression "local_868 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar15 = local_868[uVar6], uVar15 == 0)" ( (comma_expression "uVar15 = local_868[uVar6], uVar15 == 0" (assignment_expression "uVar15 = local_868[uVar6]" identifier = (subscript_expression "local_868[uVar6]" identifier [ identifier ])) , (binary_expression "uVar15 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }" { (expression_statement "uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);" (assignment_expression "uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5)" identifier = (call_expression "dcgettext(0," Unknown macro opcode %02x seen\n",5)" identifier (argument_list "(0," Unknown macro opcode %02x seen\n",5)" ( number_literal , (string_literal "" Unknown macro opcode %02x seen\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar11,uVar26);" (call_expression "error(uVar11,uVar26)" identifier (argument_list "(uVar11,uVar26)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);" (assignment_expression "lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(uVar15,&local_840,0,pcVar21)" identifier (argument_list "(uVar15,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (if_statement "if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }" { (expression_statement "pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACRO_%02x\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACRO_%02x\n",5)" identifier (argument_list "(0," DW_MACRO_%02x\n",5)" ( number_literal , (string_literal "" DW_MACRO_%02x\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25,uVar26);" (call_expression "printf(pcVar25,uVar26)" identifier (argument_list "(pcVar25,uVar26)" ( identifier , identifier ))) ;) }) (else_clause "else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }" else (compound_statement "{\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }" { (expression_statement "pcVar31 = (char *)(uVar15 + local_840);" (assignment_expression "pcVar31 = (char *)(uVar15 + local_840)" identifier = (cast_expression "(char *)(uVar15 + local_840)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 + local_840)" ( (binary_expression "uVar15 + local_840" identifier + identifier) )))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACRO_%02x -",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACRO_%02x -",5)" identifier (argument_list "(0," DW_MACRO_%02x -",5)" ( number_literal , (string_literal "" DW_MACRO_%02x -"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar13,uVar26);" (call_expression "printf(pcVar13,uVar26)" identifier (argument_list "(pcVar13,uVar26)" ( identifier , identifier ))) ;) (expression_statement "pcVar13 = pcVar31;" (assignment_expression "pcVar13 = pcVar31" identifier = identifier) ;) (do_statement "do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);" do (compound_statement "{\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        }" { (expression_statement "pcVar18 = pcVar13 + 1;" (assignment_expression "pcVar18 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }" if (parenthesized_expression "(pcVar18 < pcVar21)" ( (binary_expression "pcVar18 < pcVar21" identifier < identifier) )) (compound_statement "{\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }" { (expression_statement "uVar26 = 1;" (assignment_expression "uVar26 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);" statement_identifier : (expression_statement "iVar7 = (*DAT_00196f88)(pcVar13,uVar26);" (assignment_expression "iVar7 = (*DAT_00196f88)(pcVar13,uVar26)" identifier = (call_expression "(*DAT_00196f88)(pcVar13,uVar26)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar13,uVar26)" ( identifier , identifier )))) ;)) (expression_statement "lVar27 = (long)iVar7;" (assignment_expression "lVar27 = (long)iVar7" identifier = (cast_expression "(long)iVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) }) (else_clause "else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }" else (compound_statement "{\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }" { (expression_statement "lVar27 = 0;" (assignment_expression "lVar27 = 0" identifier = number_literal) ;) (if_statement "if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }" if (parenthesized_expression "((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8))" ( (binary_expression "(pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) && (parenthesized_expression "((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)" ( (binary_expression "(int)((long)pcVar21 - (long)pcVar13) - 1U < 8" (binary_expression "(int)((long)pcVar21 - (long)pcVar13) - 1U" (cast_expression "(int)((long)pcVar21 - (long)pcVar13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((long)pcVar21 - (long)pcVar13)" ( (binary_expression "(long)pcVar21 - (long)pcVar13" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) - number_literal) < number_literal) ))) )) (compound_statement "{\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }" { (expression_statement "uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;" (assignment_expression "uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff" identifier = (binary_expression "(long)pcVar21 - (long)pcVar13 & 0xffffffff" (binary_expression "(long)pcVar21 - (long)pcVar13" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) & number_literal)) ;) (goto_statement "goto LAB_00148aea;" goto statement_identifier ;) })) }))) (expression_statement "pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);" (assignment_expression "pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20)" identifier = (cast_expression "(char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20)" identifier (argument_list "(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20)" ( number_literal , identifier , number_literal , identifier , identifier , number_literal , number_literal , identifier , identifier , number_literal , number_literal , number_literal , number_literal , number_literal ))))) ;) (if_statement "if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }" if (parenthesized_expression "((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31)" ( (binary_expression "(char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31" (cast_expression "(char *)(lVar24 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar24 + -1)" ( (binary_expression "lVar24 + -1" identifier + number_literal) ))) != (binary_expression "pcVar18 + ~(ulong)pcVar31" identifier + (unary_expression "~(ulong)pcVar31" ~ (cast_expression "(ulong)pcVar31" ( (type_descriptor "ulong" type_identifier) ) identifier)))) )) (compound_statement "{\n            putchar(0x2c);\n          }" { (expression_statement "putchar(0x2c);" (call_expression "putchar(0x2c)" identifier (argument_list "(0x2c)" ( number_literal ))) ;) })) (expression_statement "pcVar13 = pcVar18;" (assignment_expression "pcVar13 = pcVar18" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar18 != pcVar31 + lVar24)" ( (binary_expression "pcVar18 != pcVar31 + lVar24" identifier != (binary_expression "pcVar31 + lVar24" identifier + identifier)) )) ;) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "pcVar13 = pcVar25;" (assignment_expression "pcVar13 = pcVar25" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (expression_statement "sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);" (assignment_expression "sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25)" identifier = (call_expression "strnlen(pcVar25,(long)pcVar21 - (long)pcVar25)" identifier (argument_list "(pcVar25,(long)pcVar21 - (long)pcVar25)" ( identifier , (binary_expression "(long)pcVar21 - (long)pcVar25" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";" (assignment_expression "pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACRO_define - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar13 = pcVar25 + sVar17 + 1;" (assignment_expression "pcVar13 = pcVar25 + sVar17 + 1" identifier = (binary_expression "pcVar25 + sVar17 + 1" (binary_expression "pcVar25 + sVar17" identifier + identifier) + number_literal)) ;) (goto_statement "goto LAB_00148802;" goto statement_identifier ;)) (case_statement "case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (expression_statement "sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);" (assignment_expression "sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25)" identifier = (call_expression "strnlen(pcVar25,(long)pcVar21 - (long)pcVar25)" identifier (argument_list "(pcVar25,(long)pcVar21 - (long)pcVar25)" ( identifier , (binary_expression "(long)pcVar21 - (long)pcVar25" (cast_expression "(long)pcVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";" (assignment_expression "pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACRO_undef - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar13 = pcVar25 + sVar17 + 1;" (assignment_expression "pcVar13 = pcVar25 + sVar17 + 1" identifier = (binary_expression "pcVar25 + sVar17 + 1" (binary_expression "pcVar25 + sVar17" identifier + identifier) + number_literal)) ;) (labeled_statement "LAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);" statement_identifier : (expression_statement "pcVar31 = (char *)dcgettext(0,pcVar31,5);" (assignment_expression "pcVar31 = (char *)dcgettext(0,pcVar31,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar31,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar31,5)" identifier (argument_list "(0,pcVar31,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar31,uVar26 & 0xffffffff,pcVar25);" (call_expression "printf(pcVar31,uVar26 & 0xffffffff,pcVar25)" identifier (argument_list "(pcVar31,uVar26 & 0xffffffff,pcVar25)" ( identifier , (binary_expression "uVar26 & 0xffffffff" identifier & number_literal) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "uVar30 = (ulong)local_840;" (assignment_expression "uVar30 = (ulong)local_840" identifier = (cast_expression "(ulong)local_840" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar15 = FUN_0013fb20(pcVar25 + uVar30);" (assignment_expression "uVar15 = FUN_0013fb20(pcVar25 + uVar30)" identifier = (call_expression "FUN_0013fb20(pcVar25 + uVar30)" identifier (argument_list "(pcVar25 + uVar30)" ( (binary_expression "pcVar25 + uVar30" identifier + identifier) )))) ;) (expression_statement "pcVar13 = pcVar25 + uVar30 + local_840;" (assignment_expression "pcVar13 = pcVar25 + uVar30 + local_840" identifier = (binary_expression "pcVar25 + uVar30 + local_840" (binary_expression "pcVar25 + uVar30" identifier + identifier) + identifier)) ;) (if_statement "if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "((uVar12 & 2) == 0)" ( (binary_expression "(uVar12 & 2) == 0" (parenthesized_expression "(uVar12 & 2)" ( (binary_expression "uVar12 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }" { (expression_statement "uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);" (assignment_expression "uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5)" identifier = (call_expression "dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5)" identifier (argument_list "(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5)" ( number_literal , (string_literal ""DW_MACRO_start_file used, but no .debug_line offset provided.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar11);" (call_expression "error(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) }) (else_clause "else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }" else (compound_statement "{\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "uVar30 = uVar15 & 0xffffffff;" (assignment_expression "uVar30 = uVar15 & 0xffffffff" identifier = (binary_expression "uVar15 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0))" ( (binary_expression "((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)" (parenthesized_expression "((DAT_001912a0 != 0) && (local_878 < DAT_001912b0))" ( (binary_expression "(DAT_001912a0 != 0) && (local_878 < DAT_001912b0)" (parenthesized_expression "(DAT_001912a0 != 0)" ( (binary_expression "DAT_001912a0 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_878 < DAT_001912b0)" ( (binary_expression "local_878 < DAT_001912b0" identifier < identifier) ))) )) && (parenthesized_expression "(uVar30 != 0)" ( (binary_expression "uVar30 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }" { (expression_statement "pcVar31 = (char *)(DAT_001912a0 + local_878);" (assignment_expression "pcVar31 = (char *)(DAT_001912a0 + local_878)" identifier = (cast_expression "(char *)(DAT_001912a0 + local_878)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001912a0 + local_878)" ( (binary_expression "DAT_001912a0 + local_878" identifier + identifier) )))) ;) (expression_statement "pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);" (assignment_expression "pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0)" identifier = (cast_expression "(char *)(DAT_001912a0 + DAT_001912b0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001912a0 + DAT_001912b0)" ( (binary_expression "DAT_001912a0 + DAT_001912b0" identifier + identifier) )))) ;) (expression_statement "pcVar25 = pcVar31 + 4;" (assignment_expression "pcVar25 = pcVar31 + 4" identifier = (binary_expression "pcVar31 + 4" identifier + number_literal)) ;) (expression_statement "pcVar18 = pcVar25;" (assignment_expression "pcVar18 = pcVar25" identifier = identifier) ;) (if_statement "if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }" if (parenthesized_expression "(pcVar25 < pcVar22)" ( (binary_expression "pcVar25 < pcVar22" identifier < identifier) )) (compound_statement "{\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }" { (expression_statement "lVar24 = 4;" (assignment_expression "lVar24 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);" statement_identifier : (expression_statement "uVar16 = (*DAT_00196f88)(pcVar31,lVar24);" (assignment_expression "uVar16 = (*DAT_00196f88)(pcVar31,lVar24)" identifier = (call_expression "(*DAT_00196f88)(pcVar31,lVar24)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar31,lVar24)" ( identifier , identifier )))) ;)) (expression_statement "uVar20 = 4;" (assignment_expression "uVar20 = 4" identifier = number_literal) ;) (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) (if_statement "if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }" if (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }" { (expression_statement "pcVar18 = pcVar31 + 0xc;" (assignment_expression "pcVar18 = pcVar31 + 0xc" identifier = (binary_expression "pcVar31 + 0xc" identifier + number_literal)) ;) (if_statement "if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }" if (parenthesized_expression "(pcVar18 < pcVar22)" ( (binary_expression "pcVar18 < pcVar22" identifier < identifier) )) (compound_statement "{\n                lVar24 = 8;\n              }" { (expression_statement "lVar24 = 8;" (assignment_expression "lVar24 = 8" identifier = number_literal) ;) }) (else_clause "else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }" else (if_statement "if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }" if (parenthesized_expression "((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U))" ( (binary_expression "(pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)" (parenthesized_expression "(pcVar22 <= pcVar25)" ( (binary_expression "pcVar22 <= pcVar25" identifier <= identifier) )) || (parenthesized_expression "(lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)" ( (comma_expression "lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U" (assignment_expression "lVar24 = (long)pcVar22 - (long)pcVar25" identifier = (binary_expression "(long)pcVar22 - (long)pcVar25" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "7 < (int)lVar24 - 1U" number_literal < (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal))) ))) )) (compound_statement "{\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }" { (expression_statement "uVar19 = 0xc;" (assignment_expression "uVar19 = 0xc" identifier = number_literal) ;) (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_00148941;" goto statement_identifier ;) })))) (expression_statement "uVar16 = (*DAT_00196f88)(pcVar25,lVar24);" (assignment_expression "uVar16 = (*DAT_00196f88)(pcVar25,lVar24)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,lVar24)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,lVar24)" ( identifier , identifier )))) ;) (expression_statement "uVar20 = 0xc;" (assignment_expression "uVar20 = 0xc" identifier = number_literal) ;) (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" identifier = number_literal) ;) })) (expression_statement "uVar19 = uVar20 + uVar16;" (assignment_expression "uVar19 = uVar20 + uVar16" identifier = (binary_expression "uVar20 + uVar16" identifier + identifier)) ;) (if_statement "if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;" if (parenthesized_expression "(CARRY8(uVar20,uVar16))" ( (call_expression "CARRY8(uVar20,uVar16)" identifier (argument_list "(uVar20,uVar16)" ( identifier , identifier ))) )) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)) }) (else_clause "else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }" else (compound_statement "{\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }" { (if_statement "if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;" if (parenthesized_expression "((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))" ( (binary_expression "(pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8)" (parenthesized_expression "(pcVar31 < pcVar22)" ( (binary_expression "pcVar31 < pcVar22" identifier < identifier) )) && (parenthesized_expression "(lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8)" ( (comma_expression "lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8" (assignment_expression "lVar24 = DAT_001912b0 - local_878" identifier = (binary_expression "DAT_001912b0 - local_878" identifier - identifier)) , (binary_expression "(int)lVar24 - 1U < 8" (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00148b35;" goto statement_identifier ;)) (expression_statement "uVar19 = 4;" (assignment_expression "uVar19 = 4" identifier = number_literal) ;) (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) }))) (labeled_statement "LAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }" statement_identifier : (if_statement "if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }" if (parenthesized_expression "(uVar19 <= DAT_001912b0)" ( (binary_expression "uVar19 <= DAT_001912b0" identifier <= identifier) )) (compound_statement "{\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }" { (if_statement "if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;" if (parenthesized_expression "(pcVar18 + 2 < pcVar22)" ( (binary_expression "pcVar18 + 2 < pcVar22" (binary_expression "pcVar18 + 2" identifier + number_literal) < identifier) )) (compound_statement "{\n              lVar24 = 2;\n            }" { (expression_statement "lVar24 = 2;" (assignment_expression "lVar24 = 2" identifier = number_literal) ;) }) (else_clause "else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;" else (if_statement "if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;" if (parenthesized_expression "((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))" ( (binary_expression "(pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U)" (parenthesized_expression "(pcVar22 <= pcVar18)" ( (binary_expression "pcVar22 <= pcVar18" identifier <= identifier) )) || (parenthesized_expression "(lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U)" ( (comma_expression "lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U" (assignment_expression "lVar24 = (long)pcVar22 - (long)pcVar18" identifier = (binary_expression "(long)pcVar22 - (long)pcVar18" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "7 < (int)lVar24 - 1U" number_literal < (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal))) ))) )) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)))) (expression_statement "iVar9 = (*DAT_00196f88)(pcVar18,lVar24);" (assignment_expression "iVar9 = (*DAT_00196f88)(pcVar18,lVar24)" identifier = (call_expression "(*DAT_00196f88)(pcVar18,lVar24)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar18,lVar24)" ( identifier , identifier )))) ;) (if_statement "if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }" if (parenthesized_expression "(iVar9 - 2U < 3)" ( (binary_expression "iVar9 - 2U < 3" (binary_expression "iVar9 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }" { (expression_statement "lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;" (assignment_expression "lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2" identifier = (binary_expression "(ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2" (binary_expression "(ulong)(iVar9 == 4) + (ulong)(iVar7 + 1)" (call_expression "(ulong)(iVar9 == 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar9 == 4)" ( (binary_expression "iVar9 == 4" identifier == number_literal) ))) + (call_expression "(ulong)(iVar7 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar25 = pcVar18 + lVar24 + 3;" (assignment_expression "pcVar25 = pcVar18 + lVar24 + 3" identifier = (binary_expression "pcVar18 + lVar24 + 3" (binary_expression "pcVar18 + lVar24" identifier + identifier) + number_literal)) ;) (if_statement "if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;" if (parenthesized_expression "(pcVar18 + lVar24 + 4 < pcVar22)" ( (binary_expression "pcVar18 + lVar24 + 4 < pcVar22" (binary_expression "pcVar18 + lVar24 + 4" (binary_expression "pcVar18 + lVar24" identifier + identifier) + number_literal) < identifier) )) (compound_statement "{\n                lVar27 = 1;\n              }" { (expression_statement "lVar27 = 1;" (assignment_expression "lVar27 = 1" identifier = number_literal) ;) }) (else_clause "else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;" else (if_statement "if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;" if (parenthesized_expression "((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))" ( (binary_expression "(pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U)" (parenthesized_expression "(pcVar22 <= pcVar25)" ( (binary_expression "pcVar22 <= pcVar25" identifier <= identifier) )) || (parenthesized_expression "(lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U)" ( (comma_expression "lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U" (assignment_expression "lVar27 = (long)pcVar22 - (long)pcVar25" identifier = (binary_expression "(long)pcVar22 - (long)pcVar25" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "7 < (int)lVar27 - 1U" number_literal < (binary_expression "(int)lVar27 - 1U" (cast_expression "(int)lVar27" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal))) ))) )) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)))) (expression_statement "iVar7 = (*DAT_00196f88)(pcVar25,lVar27);" (assignment_expression "iVar7 = (*DAT_00196f88)(pcVar25,lVar27)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,lVar27)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,lVar27)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }" { (expression_statement "local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);" (assignment_expression "local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1)" identifier = (binary_expression "pcVar18 + lVar24 + 4 + (iVar7 - 1)" (binary_expression "pcVar18 + lVar24 + 4" (binary_expression "pcVar18 + lVar24" identifier + identifier) + number_literal) + (parenthesized_expression "(iVar7 - 1)" ( (binary_expression "iVar7 - 1" identifier - number_literal) )))) ;) (for_statement "for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }" for ( (assignment_expression "pcVar25 = local_890" identifier = identifier) ; (binary_expression "pcVar25 < pcVar22" identifier < identifier) ; (assignment_expression "pcVar25 = pcVar25 + sVar17 + 1" identifier = (binary_expression "pcVar25 + sVar17 + 1" (binary_expression "pcVar25 + sVar17" identifier + identifier) + number_literal)) ) (compound_statement "{\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }" { (if_statement "if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }" if (parenthesized_expression "(*pcVar25 == '\0')" ( (binary_expression "*pcVar25 == '\0'" (pointer_expression "*pcVar25" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }" { (expression_statement "pcVar31 = pcVar25 + 1;" (assignment_expression "pcVar31 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }" if (parenthesized_expression "(pcVar31 < pcVar22)" ( (binary_expression "pcVar31 < pcVar22" identifier < identifier) )) (compound_statement "{\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }" { (expression_statement "cVar4 = pcVar25[1];" (assignment_expression "cVar4 = pcVar25[1]" identifier = (subscript_expression "pcVar25[1]" identifier [ number_literal ])) ;) (if_statement "if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;" if (parenthesized_expression "((uVar30 == 1) || (cVar4 == '\0'))" ( (binary_expression "(uVar30 == 1) || (cVar4 == '\0')" (parenthesized_expression "(uVar30 == 1)" ( (binary_expression "uVar30 == 1" identifier == number_literal) )) || (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00148eec;" goto statement_identifier ;)) (goto_statement "goto LAB_00148d9d;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);" (assignment_expression "sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25)" identifier = (call_expression "strnlen(pcVar25,(long)pcVar22 - (long)pcVar25)" identifier (argument_list "(pcVar25,(long)pcVar22 - (long)pcVar25)" ( identifier , (binary_expression "(long)pcVar22 - (long)pcVar25" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) })) })) })) }))) })) }))) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)) (case_statement "case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;" case number_literal : (expression_statement "pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACRO_end_file\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACRO_end_file\n",5)" identifier (argument_list "(0," DW_MACRO_end_file\n",5)" ( number_literal , (string_literal "" DW_MACRO_end_file\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar25);" (call_expression "printf(pcVar25)" identifier (argument_list "(pcVar25)" ( identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" identifier = (binary_expression "pcVar25 + uVar29" identifier + identifier)) ;) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" if (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" ( (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" ( (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" identifier = (binary_expression "iVar3 - (int)pcVar25" identifier - (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" { (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "uVar11 = FUN_0013e880(uVar11);" (assignment_expression "uVar11 = FUN_0013e880(uVar11)" identifier = (call_expression "FUN_0013e880(uVar11)" identifier (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";" (assignment_expression "pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACRO_define_strp - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0014857d;" goto statement_identifier ;)) (case_statement "case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" identifier = (binary_expression "pcVar25 + uVar29" identifier + identifier)) ;) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" if (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" ( (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" ( (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" identifier = (binary_expression "iVar3 - (int)pcVar25" identifier - (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" { (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "uVar11 = FUN_0013e880(uVar11);" (assignment_expression "uVar11 = FUN_0013e880(uVar11)" identifier = (call_expression "FUN_0013e880(uVar11)" identifier (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";" (assignment_expression "pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACRO_undef_strp - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0014857d;" goto statement_identifier ;)) (case_statement "case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;" case number_literal : (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" identifier = (binary_expression "pcVar25 + uVar29" identifier + identifier)) ;) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" if (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" ( (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" ( (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" identifier = (binary_expression "iVar3 - (int)pcVar25" identifier - (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" { (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";" (assignment_expression "pcVar25 = " DW_MACRO_import - offset : 0x%lx\n"" identifier = (string_literal "" DW_MACRO_import - offset : 0x%lx\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_001484c9;" goto statement_identifier ;)) (case_statement "case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" identifier = (binary_expression "pcVar25 + uVar29" identifier + identifier)) ;) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" if (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" ( (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" ( (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" identifier = (binary_expression "iVar3 - (int)pcVar25" identifier - (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" { (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";" (assignment_expression "pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n"" identifier = (string_literal "" DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0014857d;" goto statement_identifier ;)) (case_statement "case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;" case number_literal : (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier = (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" identifier (argument_list "(pcVar25,&local_840,0,pcVar21)" ( identifier , (pointer_expression "&local_840" & identifier) , number_literal , identifier )))) ;) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" identifier = (binary_expression "pcVar25 + local_840" identifier + identifier)) ;) (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" identifier = (binary_expression "pcVar25 + uVar29" identifier + identifier)) ;) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" if (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" ( (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" ( (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" identifier = (binary_expression "iVar3 - (int)pcVar25" identifier - (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" { (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";" (assignment_expression "pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n"" identifier = (string_literal "" DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);" statement_identifier : (expression_statement "pcVar25 = (char *)dcgettext(0,pcVar25,5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,pcVar25,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar25,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar25,5)" identifier (argument_list "(0,pcVar25,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar25,uVar26 & 0xffffffff,uVar11);" (call_expression "printf(pcVar25,uVar26 & 0xffffffff,uVar11)" identifier (argument_list "(pcVar25,uVar26 & 0xffffffff,uVar11)" ( identifier , (binary_expression "uVar26 & 0xffffffff" identifier & number_literal) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);" case number_literal : (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" identifier = (binary_expression "pcVar25 + uVar29" identifier + identifier)) ;) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" if (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" ( (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" ( (binary_expression "pcVar13 < pcVar21" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" ( (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" ( (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" identifier < identifier) && (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" ( (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" identifier = (binary_expression "iVar3 - (int)pcVar25" identifier - (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" { (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" identifier = (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar25,uVar6)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";" (assignment_expression "pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n"" identifier = (string_literal "" DW_MACRO_import_sup - offset : 0x%lx\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);" statement_identifier : (expression_statement "pcVar25 = (char *)dcgettext(0,pcVar25,5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,pcVar25,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar25,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar25,5)" identifier (argument_list "(0,pcVar25,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar25,uVar11);" (call_expression "printf(pcVar25,uVar11)" identifier (argument_list "(pcVar25,uVar11)" ( identifier , identifier ))) ;)) })) (goto_statement "goto LAB_001484e0;" goto statement_identifier ;) })) (goto_statement "goto LAB_0014818e;" goto statement_identifier ;) (while_statement "while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }" while (parenthesized_expression "((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1)))" ( (parenthesized_expression "(cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))" ( (comma_expression "cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1)" (assignment_expression "cVar4 = *pcVar31" identifier = (pointer_expression "*pcVar31" * identifier)) , (binary_expression "cVar4 != '\0' && (uVar30 != 1)" (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(uVar30 != 1)" ( (binary_expression "uVar30 != 1" identifier != number_literal) )))) )) )) (compound_statement "{\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }" { (labeled_statement "LAB_00148d9d:\n    uVar30 = uVar30 - 1;" statement_identifier : (expression_statement "uVar30 = uVar30 - 1;" (assignment_expression "uVar30 = uVar30 - 1" identifier = (binary_expression "uVar30 - 1" identifier - number_literal)) ;)) (expression_statement "sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);" (assignment_expression "sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31)" identifier = (call_expression "strnlen(pcVar31,(long)pcVar22 - (long)pcVar31)" identifier (argument_list "(pcVar31,(long)pcVar22 - (long)pcVar31)" ( identifier , (binary_expression "(long)pcVar22 - (long)pcVar31" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar31" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "pcVar31 = pcVar31 + sVar17 + 1;" (assignment_expression "pcVar31 = pcVar31 + sVar17 + 1" identifier = (binary_expression "pcVar31 + sVar17 + 1" (binary_expression "pcVar31 + sVar17" identifier + identifier) + number_literal)) ;) (expression_statement "FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);" (call_expression "FUN_0013fb20(pcVar31,&local_83c,0,pcVar22)" identifier (argument_list "(pcVar31,&local_83c,0,pcVar22)" ( identifier , (pointer_expression "&local_83c" & identifier) , number_literal , identifier ))) ;) (expression_statement "pcVar31 = pcVar31 + local_83c;" (assignment_expression "pcVar31 = pcVar31 + local_83c" identifier = (binary_expression "pcVar31 + local_83c" identifier + identifier)) ;) (expression_statement "FUN_0013fb20(pcVar31);" (call_expression "FUN_0013fb20(pcVar31)" identifier (argument_list "(pcVar31)" ( identifier ))) ;) (expression_statement "uVar16 = (ulong)local_83c;" (assignment_expression "uVar16 = (ulong)local_83c" identifier = (cast_expression "(ulong)local_83c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "FUN_0013fb20(pcVar31 + uVar16);" (call_expression "FUN_0013fb20(pcVar31 + uVar16)" identifier (argument_list "(pcVar31 + uVar16)" ( (binary_expression "pcVar31 + uVar16" identifier + identifier) ))) ;) (expression_statement "pcVar31 = pcVar31 + uVar16 + local_83c;" (assignment_expression "pcVar31 = pcVar31 + uVar16 + local_83c" identifier = (binary_expression "pcVar31 + uVar16 + local_83c" (binary_expression "pcVar31 + uVar16" identifier + identifier) + identifier)) ;) (if_statement "if (pcVar22 <= pcVar31) goto LAB_0014879b;" if (parenthesized_expression "(pcVar22 <= pcVar31)" ( (binary_expression "pcVar22 <= pcVar31" identifier <= identifier) )) (goto_statement "goto LAB_0014879b;" goto statement_identifier ;)) })) (labeled_statement "LAB_00148eec:\n  if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }" statement_identifier : (if_statement "if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }" { (expression_statement "sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);" (assignment_expression "sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31)" identifier = (call_expression "strnlen(pcVar31,(long)pcVar22 - (long)pcVar31)" identifier (argument_list "(pcVar31,(long)pcVar22 - (long)pcVar31)" ( identifier , (binary_expression "(long)pcVar22 - (long)pcVar31" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pcVar31" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (if_statement "if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }" if (parenthesized_expression "(pcVar31 + sVar17 + 1 < pcVar22)" ( (binary_expression "pcVar31 + sVar17 + 1 < pcVar22" (binary_expression "pcVar31 + sVar17 + 1" (binary_expression "pcVar31 + sVar17" identifier + identifier) + number_literal) < identifier) )) (compound_statement "{\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }" { (expression_statement "uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);" (assignment_expression "uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22)" identifier = (call_expression "FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22)" identifier (argument_list "(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22)" ( (binary_expression "pcVar31 + sVar17 + 1" (binary_expression "pcVar31 + sVar17" identifier + identifier) + number_literal) , (pointer_expression "&local_83c" & identifier) , number_literal , identifier )))) ;) (if_statement "if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }" if (parenthesized_expression "(uVar30 == 0)" ( (binary_expression "uVar30 == 0" identifier == number_literal) )) (compound_statement "{\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }" { (expression_statement "local_890 = "";" (assignment_expression "local_890 = """ identifier = (string_literal """" " ")) ;) (expression_statement "puVar23 = &DAT_00169c35;" (assignment_expression "puVar23 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (labeled_statement "LAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);" statement_identifier : (expression_statement "pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5)" identifier (argument_list "(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5)" ( number_literal , (string_literal "" DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);" (call_expression "printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31)" identifier (argument_list "(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31)" ( identifier , (binary_expression "uVar26 & 0xffffffff" identifier & number_literal) , (binary_expression "uVar15 & 0xffffffff" identifier & number_literal) , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_001484e0;" goto statement_identifier ;) })) (do_statement "do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);" do (compound_statement "{\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      }" { (if_statement "if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }" if (parenthesized_expression "((*local_890 == '\0') || (uVar30 < 2))" ( (binary_expression "(*local_890 == '\0') || (uVar30 < 2)" (parenthesized_expression "(*local_890 == '\0')" ( (binary_expression "*local_890 == '\0'" (pointer_expression "*local_890" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(uVar30 < 2)" ( (binary_expression "uVar30 < 2" identifier < number_literal) ))) )) (compound_statement "{\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }" { (if_statement "if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;" if (parenthesized_expression "((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))" ( (binary_expression "(local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0')" (parenthesized_expression "(local_890 < pcVar22)" ( (binary_expression "local_890 < pcVar22" identifier < identifier) )) && (parenthesized_expression "(puVar23 = &DAT_0016ae1e, *local_890 != '\0')" ( (comma_expression "puVar23 = &DAT_0016ae1e, *local_890 != '\0'" (assignment_expression "puVar23 = &DAT_0016ae1e" identifier = (pointer_expression "&DAT_0016ae1e" & identifier)) , (binary_expression "*local_890 != '\0'" (pointer_expression "*local_890" * identifier) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_00148fc0;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "uVar30 = uVar30 - 1;" (assignment_expression "uVar30 = uVar30 - 1" identifier = (binary_expression "uVar30 - 1" identifier - number_literal)) ;) (expression_statement "sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);" (assignment_expression "sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890)" identifier = (call_expression "strnlen(local_890,(long)pcVar22 - (long)local_890)" identifier (argument_list "(local_890,(long)pcVar22 - (long)local_890)" ( identifier , (binary_expression "(long)pcVar22 - (long)local_890" (cast_expression "(long)pcVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)local_890" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "local_890 = local_890 + sVar17 + 1;" (assignment_expression "local_890 = local_890 + sVar17 + 1" identifier = (binary_expression "local_890 + sVar17 + 1" (binary_expression "local_890 + sVar17" identifier + identifier) + number_literal)) ;) }) while (parenthesized_expression "(local_890 < pcVar22)" ( (binary_expression "local_890 < pcVar22" identifier < identifier) )) ;) })) }))) (labeled_statement "LAB_0014879b:\n  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);" statement_identifier : (expression_statement "pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" identifier (argument_list "(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" ( number_literal , (string_literal "" DW_MACRO_start_file - lineno: %d filenum: %d\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);" (call_expression "printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff)" identifier (argument_list "(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff)" ( identifier , (binary_expression "uVar26 & 0xffffffff" identifier & number_literal) , (binary_expression "uVar15 & 0xffffffff" identifier & number_literal) ))) ;) (labeled_statement "LAB_001484e0:\n  if (pcVar21 <= pcVar13) goto LAB_0014818e;" statement_identifier : (if_statement "if (pcVar21 <= pcVar13) goto LAB_0014818e;" if (parenthesized_expression "(pcVar21 <= pcVar13)" ( (binary_expression "pcVar21 <= pcVar13" identifier <= identifier) )) (goto_statement "goto LAB_0014818e;" goto statement_identifier ;))) (expression_statement "pcVar25 = pcVar13 + 1;" (assignment_expression "pcVar25 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar21 <= pcVar25) goto LAB_00148430;" if (parenthesized_expression "(pcVar21 <= pcVar25)" ( (binary_expression "pcVar21 <= pcVar25" identifier <= identifier) )) (goto_statement "goto LAB_00148430;" goto statement_identifier ;)) (labeled_statement "LAB_001484f6:\n  uVar6 = (*DAT_00196f88)(pcVar13,1);" statement_identifier : (expression_statement "uVar6 = (*DAT_00196f88)(pcVar13,1);" (assignment_expression "uVar6 = (*DAT_00196f88)(pcVar13,1)" identifier = (call_expression "(*DAT_00196f88)(pcVar13,1)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(pcVar13,1)" ( identifier , number_literal )))) ;)) (if_statement "if (uVar6 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    putchar(10);\n    goto LAB_0014807f;\n  }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (goto_statement "goto LAB_0014807f;" goto statement_identifier ;) })) (goto_statement "goto LAB_00148456;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (return_statement return LIT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression IDENT < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression IDENT - LIT) < LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_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 *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " escape_sequence ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " escape_sequence ")) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) }))) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (return_statement return LIT ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT , 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 *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) - LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) & LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT , IDENT , LIT , LIT , IDENT , IDENT , LIT , LIT , LIT , LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) != (binary_expression IDENT + (unary_expression ~ (cast_expression ( (type_descriptor TYPE) ) IDENT)))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT & LIT) , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression LIT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( IDENT , IDENT ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - IDENT)) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression LIT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT))) ))) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) ))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression LIT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT))) ))) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT + IDENT) + LIT) + (parenthesized_expression ( (binary_expression IDENT - LIT) )))) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT < IDENT) ; (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) })) })) })) }))) })) }))) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression IDENT < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression IDENT - LIT) < LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression IDENT < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression IDENT - LIT) < LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression IDENT < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression IDENT - LIT) < LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression IDENT < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression IDENT - LIT) < LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression IDENT < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression IDENT - LIT) < LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT & LIT) , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression IDENT < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression IDENT - LIT) < LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression (binary_expression IDENT != (char_literal ' escape_sequence ')) && (parenthesized_expression ( (binary_expression IDENT != LIT) )))) )) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT + IDENT) + LIT) , (pointer_expression & IDENT) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT & LIT) , (binary_expression IDENT & LIT) , IDENT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression & IDENT)) , (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence '))) ))) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT & LIT) , (binary_expression IDENT & LIT) ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined8 FUN_00148020(long param_1,undefined8 param_2)\n\n{\n  uint uVar1;\n  char *pcVar2;\n  int iVar3;\n  char cVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  ulong uVar12;\n  char *pcVar13;\n  ulong *puVar14;\n  ulong uVar15;\n  ulong uVar16;\n  size_t sVar17;\n  char *pcVar18;\n  ulong uVar19;\n  ulong uVar20;\n  char *pcVar21;\n  char *pcVar22;\n  undefined1 *puVar23;\n  long lVar24;\n  char *pcVar25;\n  ulong uVar26;\n  long lVar27;\n  long lVar28;\n  uint uVar29;\n  ulong uVar30;\n  char *pcVar31;\n  byte bVar32;\n  char *local_890;\n  ulong local_878;\n  ulong *local_868;\n  uint local_840;\n  uint local_83c;\n  ulong local_838 [257];\n  \n  bVar32 = 0;\n  pcVar2 = *(char **)(param_1 + 0x20);\n  pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);\n  FUN_0013e500(10);\n  FUN_0013e500(4,param_2);\n  FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n  pcVar25 = pcVar2;\n  if (pcVar21 <= pcVar2) {\n    return 1;\n  }\nLAB_0014807f:\n  pcVar13 = pcVar25 + 2;\n  if (pcVar13 < pcVar21) {\n    lVar24 = 2;\n  }\n  else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }\n  uVar5 = (*DAT_00196f88)(pcVar25,lVar24);\n  if (1 < uVar5 - 4) {\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }\n  pcVar31 = pcVar25 + 3;\n  if (pcVar21 <= pcVar31) {\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }\n  lVar24 = 1;\nLAB_001481bd:\n  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);\n  uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;\n  pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n  printf(pcVar13,(long)pcVar25 - (long)pcVar2);\n  pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n  printf(pcVar25,(ulong)uVar5);\n  pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n  printf(pcVar25,(ulong)uVar29);\n  iVar3 = (int)pcVar21;\n  if ((uVar12 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }\n  if ((uVar12 & 4) == 0) {\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }\n  else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }\n  putchar(10);\n  if (pcVar13 < pcVar21) {\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }\n  goto LAB_0014818e;\n  while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }\nLAB_00148eec:\n  if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }\nLAB_0014879b:\n  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);\n  printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);\nLAB_001484e0:\n  if (pcVar21 <= pcVar13) goto LAB_0014818e;\n  pcVar25 = pcVar13 + 1;\n  if (pcVar21 <= pcVar25) goto LAB_00148430;\nLAB_001484f6:\n  uVar6 = (*DAT_00196f88)(pcVar13,1);\n  if (uVar6 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }\n  goto LAB_00148456;\n}" (type_identifier "undefined8") (function_declarator "FUN_00148020(long param_1,undefined8 param_2)" (identifier "FUN_00148020") (parameter_list "(long param_1,undefined8 param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) () ")"))) (compound_statement "{\n  uint uVar1;\n  char *pcVar2;\n  int iVar3;\n  char cVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  ulong uVar12;\n  char *pcVar13;\n  ulong *puVar14;\n  ulong uVar15;\n  ulong uVar16;\n  size_t sVar17;\n  char *pcVar18;\n  ulong uVar19;\n  ulong uVar20;\n  char *pcVar21;\n  char *pcVar22;\n  undefined1 *puVar23;\n  long lVar24;\n  char *pcVar25;\n  ulong uVar26;\n  long lVar27;\n  long lVar28;\n  uint uVar29;\n  ulong uVar30;\n  char *pcVar31;\n  byte bVar32;\n  char *local_890;\n  ulong local_878;\n  ulong *local_868;\n  uint local_840;\n  uint local_83c;\n  ulong local_838 [257];\n  \n  bVar32 = 0;\n  pcVar2 = *(char **)(param_1 + 0x20);\n  pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);\n  FUN_0013e500(10);\n  FUN_0013e500(4,param_2);\n  FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n  pcVar25 = pcVar2;\n  if (pcVar21 <= pcVar2) {\n    return 1;\n  }\nLAB_0014807f:\n  pcVar13 = pcVar25 + 2;\n  if (pcVar13 < pcVar21) {\n    lVar24 = 2;\n  }\n  else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }\n  uVar5 = (*DAT_00196f88)(pcVar25,lVar24);\n  if (1 < uVar5 - 4) {\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }\n  pcVar31 = pcVar25 + 3;\n  if (pcVar21 <= pcVar31) {\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }\n  lVar24 = 1;\nLAB_001481bd:\n  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);\n  uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;\n  pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n  printf(pcVar13,(long)pcVar25 - (long)pcVar2);\n  pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n  printf(pcVar25,(ulong)uVar5);\n  pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n  printf(pcVar25,(ulong)uVar29);\n  iVar3 = (int)pcVar21;\n  if ((uVar12 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }\n  if ((uVar12 & 4) == 0) {\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }\n  else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }\n  putchar(10);\n  if (pcVar13 < pcVar21) {\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }\n  goto LAB_0014818e;\n  while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }\nLAB_00148eec:\n  if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }\nLAB_0014879b:\n  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);\n  printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);\nLAB_001484e0:\n  if (pcVar21 <= pcVar13) goto LAB_0014818e;\n  pcVar25 = pcVar13 + 1;\n  if (pcVar21 <= pcVar25) goto LAB_00148430;\nLAB_001484f6:\n  uVar6 = (*DAT_00196f88)(pcVar13,1);\n  if (uVar6 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }\n  goto LAB_00148456;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined8 uVar10;" (type_identifier "undefined8") (identifier "uVar10") (; ";")) (declaration "undefined8 uVar11;" (type_identifier "undefined8") (identifier "uVar11") (; ";")) (declaration "ulong uVar12;" (type_identifier "ulong") (identifier "uVar12") (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "ulong *puVar14;" (type_identifier "ulong") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "ulong uVar15;" (type_identifier "ulong") (identifier "uVar15") (; ";")) (declaration "ulong uVar16;" (type_identifier "ulong") (identifier "uVar16") (; ";")) (declaration "size_t sVar17;" (primitive_type "size_t") (identifier "sVar17") (; ";")) (declaration "char *pcVar18;" (primitive_type "char") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "ulong uVar19;" (type_identifier "ulong") (identifier "uVar19") (; ";")) (declaration "ulong uVar20;" (type_identifier "ulong") (identifier "uVar20") (; ";")) (declaration "char *pcVar21;" (primitive_type "char") (pointer_declarator "*pcVar21" (* "*") (identifier "pcVar21")) (; ";")) (declaration "char *pcVar22;" (primitive_type "char") (pointer_declarator "*pcVar22" (* "*") (identifier "pcVar22")) (; ";")) (declaration "undefined1 *puVar23;" (type_identifier "undefined1") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "long lVar24;" (sized_type_specifier "long" (long "long")) (identifier "lVar24") (; ";")) (declaration "char *pcVar25;" (primitive_type "char") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "ulong uVar26;" (type_identifier "ulong") (identifier "uVar26") (; ";")) (declaration "long lVar27;" (sized_type_specifier "long" (long "long")) (identifier "lVar27") (; ";")) (declaration "long lVar28;" (sized_type_specifier "long" (long "long")) (identifier "lVar28") (; ";")) (declaration "uint uVar29;" (type_identifier "uint") (identifier "uVar29") (; ";")) (declaration "ulong uVar30;" (type_identifier "ulong") (identifier "uVar30") (; ";")) (declaration "char *pcVar31;" (primitive_type "char") (pointer_declarator "*pcVar31" (* "*") (identifier "pcVar31")) (; ";")) (declaration "byte bVar32;" (type_identifier "byte") (identifier "bVar32") (; ";")) (declaration "char *local_890;" (primitive_type "char") (pointer_declarator "*local_890" (* "*") (identifier "local_890")) (; ";")) (declaration "ulong local_878;" (type_identifier "ulong") (identifier "local_878") (; ";")) (declaration "ulong *local_868;" (type_identifier "ulong") (pointer_declarator "*local_868" (* "*") (identifier "local_868")) (; ";")) (declaration "uint local_840;" (type_identifier "uint") (identifier "local_840") (; ";")) (declaration "uint local_83c;" (type_identifier "uint") (identifier "local_83c") (; ";")) (declaration "ulong local_838 [257];" (type_identifier "ulong") (array_declarator "local_838 [257]" (identifier "local_838") ([ "[") (number_literal "257") (] "]")) (; ";")) (expression_statement "bVar32 = 0;" (assignment_expression "bVar32 = 0" (identifier "bVar32") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar2 = *(char **)(param_1 + 0x20);" (assignment_expression "pcVar2 = *(char **)(param_1 + 0x20)" (identifier "pcVar2") (= "=") (pointer_expression "*(char **)(param_1 + 0x20)" (* "*") (cast_expression "(char **)(param_1 + 0x20)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);" (assignment_expression "pcVar21 = pcVar2 + *(long *)(param_1 + 0x30)" (identifier "pcVar21") (= "=") (binary_expression "pcVar2 + *(long *)(param_1 + 0x30)" (identifier "pcVar2") (+ "+") (pointer_expression "*(long *)(param_1 + 0x30)" (* "*") (cast_expression "(long *)(param_1 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (expression_statement "FUN_0013e500(10);" (call_expression "FUN_0013e500(10)" (identifier "FUN_0013e500") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (expression_statement "FUN_0013e500(4,param_2);" (call_expression "FUN_0013e500(4,param_2)" (identifier "FUN_0013e500") (argument_list "(4,param_2)" (( "(") (number_literal "4") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);" (call_expression "FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18)" (identifier "FUN_0013ed70") (argument_list "(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18)" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))) (; ";")) (expression_statement "pcVar25 = pcVar2;" (assignment_expression "pcVar25 = pcVar2" (identifier "pcVar25") (= "=") (identifier "pcVar2")) (; ";")) (if_statement "if (pcVar21 <= pcVar2) {\n    return 1;\n  }" (if "if") (parenthesized_expression "(pcVar21 <= pcVar2)" (( "(") (binary_expression "pcVar21 <= pcVar2" (identifier "pcVar21") (<= "<=") (identifier "pcVar2")) () ")")) (compound_statement "{\n    return 1;\n  }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (labeled_statement "LAB_0014807f:\n  pcVar13 = pcVar25 + 2;" (statement_identifier "LAB_0014807f") (: ":") (expression_statement "pcVar13 = pcVar25 + 2;" (assignment_expression "pcVar13 = pcVar25 + 2" (identifier "pcVar13") (= "=") (binary_expression "pcVar25 + 2" (identifier "pcVar25") (+ "+") (number_literal "2"))) (; ";"))) (if_statement "if (pcVar13 < pcVar21) {\n    lVar24 = 2;\n  }\n  else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }" (if "if") (parenthesized_expression "(pcVar13 < pcVar21)" (( "(") (binary_expression "pcVar13 < pcVar21" (identifier "pcVar13") (< "<") (identifier "pcVar21")) () ")")) (compound_statement "{\n    lVar24 = 2;\n  }" ({ "{") (expression_statement "lVar24 = 2;" (assignment_expression "lVar24 = 2" (identifier "lVar24") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else {\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }" (else "else") (compound_statement "{\n    lVar24 = (long)pcVar21 - (long)pcVar25;\n    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;\n  }" ({ "{") (expression_statement "lVar24 = (long)pcVar21 - (long)pcVar25;" (assignment_expression "lVar24 = (long)pcVar21 - (long)pcVar25" (identifier "lVar24") (= "=") (binary_expression "(long)pcVar21 - (long)pcVar25" (cast_expression "(long)pcVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar21")) (- "-") (cast_expression "(long)pcVar25" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar25")))) (; ";")) (if_statement "if (7 < (int)lVar24 - 1U) goto LAB_0014809e;" (if "if") (parenthesized_expression "(7 < (int)lVar24 - 1U)" (( "(") (binary_expression "7 < (int)lVar24 - 1U" (number_literal "7") (< "<") (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar24")) (- "-") (number_literal "1U"))) () ")")) (goto_statement "goto LAB_0014809e;" (goto "goto") (statement_identifier "LAB_0014809e") (; ";"))) (} "}")))) (expression_statement "uVar5 = (*DAT_00196f88)(pcVar25,lVar24);" (assignment_expression "uVar5 = (*DAT_00196f88)(pcVar25,lVar24)" (identifier "uVar5") (= "=") (call_expression "(*DAT_00196f88)(pcVar25,lVar24)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar25,lVar24)" (( "(") (identifier "pcVar25") (, ",") (identifier "lVar24") () ")")))) (; ";")) (if_statement "if (1 < uVar5 - 4) {\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }" (if "if") (parenthesized_expression "(1 < uVar5 - 4)" (( "(") (binary_expression "1 < uVar5 - 4" (number_literal "1") (< "<") (binary_expression "uVar5 - 4" (identifier "uVar5") (- "-") (number_literal "4"))) () ")")) (compound_statement "{\nLAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";\n    uVar11 = *(undefined8 *)(param_1 + 0x10);\nLAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);\n    error(uVar10,uVar11);\n    return 0;\n  }" ({ "{") (labeled_statement "LAB_0014809e:\n    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";" (statement_identifier "LAB_0014809e") (: ":") (expression_statement "pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";" (assignment_expression "pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n"" (identifier "pcVar25") (= "=") (string_literal ""Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n"" (" """) (string_content "Only GNU extension to DWARF 4 or 5 of %s is currently supported.") (escape_sequence "\n") (" """))) (; ";"))) (expression_statement "uVar11 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar11 = *(undefined8 *)(param_1 + 0x10)" (identifier "uVar11") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (labeled_statement "LAB_001480b3:\n    uVar10 = dcgettext(0,pcVar25,5);" (statement_identifier "LAB_001480b3") (: ":") (expression_statement "uVar10 = dcgettext(0,pcVar25,5);" (assignment_expression "uVar10 = dcgettext(0,pcVar25,5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,pcVar25,5)" (identifier "dcgettext") (argument_list "(0,pcVar25,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar25") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "error(uVar10,uVar11);" (call_expression "error(uVar10,uVar11)" (identifier "error") (argument_list "(uVar10,uVar11)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar11") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "pcVar31 = pcVar25 + 3;" (assignment_expression "pcVar31 = pcVar25 + 3" (identifier "pcVar31") (= "=") (binary_expression "pcVar25 + 3" (identifier "pcVar25") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (pcVar21 <= pcVar31) {\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }" (if "if") (parenthesized_expression "(pcVar21 <= pcVar31)" (( "(") (binary_expression "pcVar21 <= pcVar31" (identifier "pcVar21") (<= "<=") (identifier "pcVar31")) () ")")) (compound_statement "{\n    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;\n    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);\n    printf(pcVar21,(long)pcVar25 - (long)pcVar2);\n    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);\n    printf(pcVar25,(ulong)uVar5);\n    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);\n    printf(pcVar25,4);\n    goto LAB_00148184;\n  }" ({ "{") (if_statement "if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n    goto LAB_001481bd;" (if "if") (parenthesized_expression "((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))" (( "(") (binary_expression "(pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8)" (parenthesized_expression "(pcVar13 < pcVar21)" (( "(") (binary_expression "pcVar13 < pcVar21" (identifier "pcVar13") (< "<") (identifier "pcVar21")) () ")")) (&& "&&") (parenthesized_expression "(lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8)" (( "(") (comma_expression "lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8" (assignment_expression "lVar24 = (long)pcVar21 - (long)pcVar13" (identifier "lVar24") (= "=") (binary_expression "(long)pcVar21 - (long)pcVar13" (cast_expression "(long)pcVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar21")) (- "-") (cast_expression "(long)pcVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar13")))) (, ",") (binary_expression "(int)lVar24 - 1U < 8" (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar24")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_001481bd;" (goto "goto") (statement_identifier "LAB_001481bd") (; ";"))) (expression_statement "pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);" (assignment_expression "pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" (identifier "pcVar21") (= "=") (cast_expression "(char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Offset:                      0x%lx\n",5)" (identifier "dcgettext") (argument_list "(0,"  Offset:                      0x%lx\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Offset:                      0x%lx\n"" (" """) (string_content "  Offset:                      0x%lx") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar21,(long)pcVar25 - (long)pcVar2);" (call_expression "printf(pcVar21,(long)pcVar25 - (long)pcVar2)" (identifier "printf") (argument_list "(pcVar21,(long)pcVar25 - (long)pcVar2)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "(long)pcVar25 - (long)pcVar2" (cast_expression "(long)pcVar25" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(long)pcVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar2"))) () ")"))) (; ";")) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0,"  Version:                     %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Version:                     %d\n",5)" (identifier "dcgettext") (argument_list "(0,"  Version:                     %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Version:                     %d\n"" (" """) (string_content "  Version:                     %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar25,(ulong)uVar5);" (call_expression "printf(pcVar25,(ulong)uVar5)" (identifier "printf") (argument_list "(pcVar25,(ulong)uVar5)" (( "(") (identifier "pcVar25") (, ",") (cast_expression "(ulong)uVar5" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar5")) () ")"))) (; ";")) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0,"  Offset size:                 %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Offset size:                 %d\n",5)" (identifier "dcgettext") (argument_list "(0,"  Offset size:                 %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Offset size:                 %d\n"" (" """) (string_content "  Offset size:                 %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar25,4);" (call_expression "printf(pcVar25,4)" (identifier "printf") (argument_list "(pcVar25,4)" (( "(") (identifier "pcVar25") (, ",") (number_literal "4") () ")"))) (; ";")) (goto_statement "goto LAB_00148184;" (goto "goto") (statement_identifier "LAB_00148184") (; ";")) (} "}"))) (expression_statement "lVar24 = 1;" (assignment_expression "lVar24 = 1" (identifier "lVar24") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_001481bd:\n  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);" (statement_identifier "LAB_001481bd") (: ":") (expression_statement "uVar12 = (*DAT_00196f88)(pcVar13,lVar24);" (assignment_expression "uVar12 = (*DAT_00196f88)(pcVar13,lVar24)" (identifier "uVar12") (= "=") (call_expression "(*DAT_00196f88)(pcVar13,lVar24)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar13,lVar24)" (( "(") (identifier "pcVar13") (, ",") (identifier "lVar24") () ")")))) (; ";"))) (expression_statement "uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;" (assignment_expression "uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8" (identifier "uVar29") (= "=") (binary_expression "(-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8" (parenthesized_expression "(-(uint)((uVar12 & 1) == 0) & 0xfffffffc)" (( "(") (binary_expression "-(uint)((uVar12 & 1) == 0) & 0xfffffffc" (unary_expression "-(uint)((uVar12 & 1) == 0)" (- "-") (call_expression "(uint)((uVar12 & 1) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uVar12 & 1) == 0)" (( "(") (binary_expression "(uVar12 & 1) == 0" (parenthesized_expression "(uVar12 & 1)" (( "(") (binary_expression "uVar12 & 1" (identifier "uVar12") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0xfffffffc")) () ")")) (+ "+") (number_literal "8"))) (; ";")) (expression_statement "pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" (identifier "pcVar13") (= "=") (cast_expression "(char *)dcgettext(0,"  Offset:                      0x%lx\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Offset:                      0x%lx\n",5)" (identifier "dcgettext") (argument_list "(0,"  Offset:                      0x%lx\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Offset:                      0x%lx\n"" (" """) (string_content "  Offset:                      0x%lx") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar13,(long)pcVar25 - (long)pcVar2);" (call_expression "printf(pcVar13,(long)pcVar25 - (long)pcVar2)" (identifier "printf") (argument_list "(pcVar13,(long)pcVar25 - (long)pcVar2)" (( "(") (identifier "pcVar13") (, ",") (binary_expression "(long)pcVar25 - (long)pcVar2" (cast_expression "(long)pcVar25" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(long)pcVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar2"))) () ")"))) (; ";")) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0,"  Version:                     %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Version:                     %d\n",5)" (identifier "dcgettext") (argument_list "(0,"  Version:                     %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Version:                     %d\n"" (" """) (string_content "  Version:                     %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar25,(ulong)uVar5);" (call_expression "printf(pcVar25,(ulong)uVar5)" (identifier "printf") (argument_list "(pcVar25,(ulong)uVar5)" (( "(") (identifier "pcVar25") (, ",") (cast_expression "(ulong)uVar5" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar5")) () ")"))) (; ";")) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0,"  Offset size:                 %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Offset size:                 %d\n",5)" (identifier "dcgettext") (argument_list "(0,"  Offset size:                 %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Offset size:                 %d\n"" (" """) (string_content "  Offset size:                 %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar25,(ulong)uVar29);" (call_expression "printf(pcVar25,(ulong)uVar29)" (identifier "printf") (argument_list "(pcVar25,(ulong)uVar29)" (( "(") (identifier "pcVar25") (, ",") (cast_expression "(ulong)uVar29" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar29")) () ")"))) (; ";")) (expression_statement "iVar3 = (int)pcVar21;" (assignment_expression "iVar3 = (int)pcVar21" (identifier "iVar3") (= "=") (cast_expression "(int)pcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar21"))) (; ";")) (if_statement "if ((uVar12 & 2) == 0) {\n    local_878 = 0;\n  }\n  else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }" (if "if") (parenthesized_expression "((uVar12 & 2) == 0)" (( "(") (binary_expression "(uVar12 & 2) == 0" (parenthesized_expression "(uVar12 & 2)" (( "(") (binary_expression "uVar12 & 2" (identifier "uVar12") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_878 = 0;\n  }" ({ "{") (expression_statement "local_878 = 0;" (assignment_expression "local_878 = 0" (identifier "local_878") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }" (else "else") (compound_statement "{\n    uVar6 = uVar29;\n    if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }\n    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);\n    printf(pcVar25,local_878);\n    pcVar31 = pcVar31 + uVar29;\n  }" ({ "{") (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" (identifier "uVar6") (= "=") (identifier "uVar29")) (; ";")) (if_statement "if ((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }" (if "if") (parenthesized_expression "((pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8))))" (( "(") (binary_expression "(pcVar31 + uVar29 < pcVar21) ||\n       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar31 + uVar29 < pcVar21)" (( "(") (binary_expression "pcVar31 + uVar29 < pcVar21" (binary_expression "pcVar31 + uVar29" (identifier "pcVar31") (+ "+") (identifier "uVar29")) (< "<") (identifier "pcVar21")) () ")")) (|| "||") (parenthesized_expression "((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))" (( "(") (parenthesized_expression "(local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8))" (( "(") (comma_expression "local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)" (assignment_expression "local_878 = 0" (identifier "local_878") (= "=") (number_literal "0")) (, ",") (binary_expression "pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)" (binary_expression "pcVar31 < pcVar21" (identifier "pcVar31") (< "<") (identifier "pcVar21")) (&& "&&") (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)" (( "(") (comma_expression "uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar31" (identifier "uVar6") (= "=") (binary_expression "iVar3 - (int)pcVar31" (identifier "iVar3") (- "-") (cast_expression "(int)pcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar31")))) (, ",") (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" (identifier "uVar6") (- "-") (number_literal "1")) (< "<") (number_literal "8"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n      local_878 = (*DAT_00196f88)(pcVar31,uVar6);\n    }" ({ "{") (expression_statement "local_878 = (*DAT_00196f88)(pcVar31,uVar6);" (assignment_expression "local_878 = (*DAT_00196f88)(pcVar31,uVar6)" (identifier "local_878") (= "=") (call_expression "(*DAT_00196f88)(pcVar31,uVar6)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar31,uVar6)" (( "(") (identifier "pcVar31") (, ",") (identifier "uVar6") () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5)" (identifier "dcgettext") (argument_list "(0,"  Offset into .debug_line:     0x%lx\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Offset into .debug_line:     0x%lx\n"" (" """) (string_content "  Offset into .debug_line:     0x%lx") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar25,local_878);" (call_expression "printf(pcVar25,local_878)" (identifier "printf") (argument_list "(pcVar25,local_878)" (( "(") (identifier "pcVar25") (, ",") (identifier "local_878") () ")"))) (; ";")) (expression_statement "pcVar31 = pcVar31 + uVar29;" (assignment_expression "pcVar31 = pcVar31 + uVar29" (identifier "pcVar31") (= "=") (binary_expression "pcVar31 + uVar29" (identifier "pcVar31") (+ "+") (identifier "uVar29"))) (; ";")) (} "}")))) (if_statement "if ((uVar12 & 4) == 0) {\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }\n  else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }" (if "if") (parenthesized_expression "((uVar12 & 4) == 0)" (( "(") (binary_expression "(uVar12 & 4) == 0" (parenthesized_expression "(uVar12 & 4)" (( "(") (binary_expression "uVar12 & 4" (identifier "uVar12") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_868 = (ulong *)0x0;\n    pcVar13 = pcVar31;\n  }" ({ "{") (expression_statement "local_868 = (ulong *)0x0;" (assignment_expression "local_868 = (ulong *)0x0" (identifier "local_868") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar13 = pcVar31;" (assignment_expression "pcVar13 = pcVar31" (identifier "pcVar13") (= "=") (identifier "pcVar31")) (; ";")) (} "}")) (else_clause "else {\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }" (else "else") (compound_statement "{\n    pcVar13 = pcVar31 + 1;\n    if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }\n    local_868 = local_838;\n    uVar6 = (*DAT_00196f88)(pcVar31,1);\n    puVar14 = local_868;\n    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }\n    if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }\nLAB_001482f8:\n    local_868 = local_838;\n    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);\n    printf(pcVar25);\n    uVar1 = 0;\n    do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);\n  }" ({ "{") (expression_statement "pcVar13 = pcVar31 + 1;" (assignment_expression "pcVar13 = pcVar31 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar31 + 1" (identifier "pcVar31") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcVar21 <= pcVar13) {\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }" (if "if") (parenthesized_expression "(pcVar21 <= pcVar13)" (( "(") (binary_expression "pcVar21 <= pcVar13" (identifier "pcVar21") (<= "<=") (identifier "pcVar13")) () ")")) (compound_statement "{\n      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }\nLAB_00148184:\n      putchar(10);\nLAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);\n      error(uVar11);\n      return 0;\n    }" ({ "{") (if_statement "if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }" (if "if") (parenthesized_expression "((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8))" (( "(") (binary_expression "(pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)" (parenthesized_expression "(pcVar31 < pcVar21)" (( "(") (binary_expression "pcVar31 < pcVar21" (identifier "pcVar31") (< "<") (identifier "pcVar21")) () ")")) (&& "&&") (parenthesized_expression "((iVar3 - (int)pcVar31) - 1U < 8)" (( "(") (binary_expression "(iVar3 - (int)pcVar31) - 1U < 8" (binary_expression "(iVar3 - (int)pcVar31) - 1U" (parenthesized_expression "(iVar3 - (int)pcVar31)" (( "(") (binary_expression "iVar3 - (int)pcVar31" (identifier "iVar3") (- "-") (cast_expression "(int)pcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar31"))) () ")")) (- "-") (number_literal "1U")) (< "<") (number_literal "8")) () ")"))) () ")")) (compound_statement "{\n        uVar6 = (*DAT_00196f88)(pcVar31);\n        puVar14 = local_838;\n        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }\n        if (uVar6 != 0) goto LAB_001482f8;\n      }" ({ "{") (expression_statement "uVar6 = (*DAT_00196f88)(pcVar31);" (assignment_expression "uVar6 = (*DAT_00196f88)(pcVar31)" (identifier "uVar6") (= "=") (call_expression "(*DAT_00196f88)(pcVar31)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar31)" (( "(") (identifier "pcVar31") () ")")))) (; ";")) (expression_statement "puVar14 = local_838;" (assignment_expression "puVar14 = local_838" (identifier "puVar14") (= "=") (identifier "local_838")) (; ";")) (for_statement "for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }" (for "for") (( "(") (assignment_expression "lVar24 = 0x100" (identifier "lVar24") (= "=") (number_literal "0x100")) (; ";") (binary_expression "lVar24 != 0" (identifier "lVar24") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "lVar24 = lVar24 + -1" (identifier "lVar24") (= "=") (binary_expression "lVar24 + -1" (identifier "lVar24") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n          *puVar14 = 0;\n          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n        }" ({ "{") (expression_statement "*puVar14 = 0;" (assignment_expression "*puVar14 = 0" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;" (assignment_expression "puVar14 = puVar14 + (ulong)bVar32 * -2 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar14 + (ulong)bVar32 * -2 + 1" (binary_expression "puVar14 + (ulong)bVar32 * -2" (identifier "puVar14") (+ "+") (binary_expression "(ulong)bVar32 * -2" (cast_expression "(ulong)bVar32" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (uVar6 != 0) goto LAB_001482f8;" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001482f8;" (goto "goto") (statement_identifier "LAB_001482f8") (; ";"))) (} "}"))) (labeled_statement "LAB_00148184:\n      putchar(10);" (statement_identifier "LAB_00148184") (: ":") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";"))) (labeled_statement "LAB_0014818e:\n      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);" (statement_identifier "LAB_0014818e") (: ":") (expression_statement "uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);" (assignment_expression "uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,".debug_macro section not zero terminated\n",5)" (identifier "dcgettext") (argument_list "(0,".debug_macro section not zero terminated\n",5)" (( "(") (number_literal "0") (, ",") (string_literal "".debug_macro section not zero terminated\n"" (" """) (string_content ".debug_macro section not zero terminated") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "error(uVar11);" (call_expression "error(uVar11)" (identifier "error") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "local_868 = local_838;" (assignment_expression "local_868 = local_838" (identifier "local_868") (= "=") (identifier "local_838")) (; ";")) (expression_statement "uVar6 = (*DAT_00196f88)(pcVar31,1);" (assignment_expression "uVar6 = (*DAT_00196f88)(pcVar31,1)" (identifier "uVar6") (= "=") (call_expression "(*DAT_00196f88)(pcVar31,1)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar31,1)" (( "(") (identifier "pcVar31") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "puVar14 = local_868;" (assignment_expression "puVar14 = local_868" (identifier "puVar14") (= "=") (identifier "local_868")) (; ";")) (for_statement "for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }" (for "for") (( "(") (assignment_expression "lVar24 = 0x100" (identifier "lVar24") (= "=") (number_literal "0x100")) (; ";") (binary_expression "lVar24 != 0" (identifier "lVar24") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "lVar24 = lVar24 + -1" (identifier "lVar24") (= "=") (binary_expression "lVar24 + -1" (identifier "lVar24") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n      *puVar14 = 0;\n      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;\n    }" ({ "{") (expression_statement "*puVar14 = 0;" (assignment_expression "*puVar14 = 0" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;" (assignment_expression "puVar14 = puVar14 + (ulong)bVar32 * -2 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar14 + (ulong)bVar32 * -2 + 1" (binary_expression "puVar14 + (ulong)bVar32 * -2" (identifier "puVar14") (+ "+") (binary_expression "(ulong)bVar32 * -2" (cast_expression "(ulong)bVar32" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (uVar6 == 0) {\n      putchar(10);\n      goto LAB_0014840e;\n    }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      putchar(10);\n      goto LAB_0014840e;\n    }" ({ "{") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (goto_statement "goto LAB_0014840e;" (goto "goto") (statement_identifier "LAB_0014840e") (; ";")) (} "}"))) (labeled_statement "LAB_001482f8:\n    local_868 = local_838;" (statement_identifier "LAB_001482f8") (: ":") (expression_statement "local_868 = local_838;" (assignment_expression "local_868 = local_838" (identifier "local_868") (= "=") (identifier "local_838")) (; ";"))) (expression_statement "pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0,"  Extension opcode arguments:\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Extension opcode arguments:\n",5)" (identifier "dcgettext") (argument_list "(0,"  Extension opcode arguments:\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Extension opcode arguments:\n"" (" """) (string_content "  Extension opcode arguments:") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar25);" (call_expression "printf(pcVar25)" (identifier "printf") (argument_list "(pcVar25)" (( "(") (identifier "pcVar25") () ")"))) (; ";")) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" (identifier "uVar1") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    } while (uVar1 < uVar6);" (do "do") (compound_statement "{\n      pcVar25 = pcVar13 + 1;\n      if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }\n      *puVar14 = (ulong)pcVar25;\n      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar13 = pcVar25 + local_840;\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }\n      uVar1 = uVar1 + 1;\n    }" ({ "{") (expression_statement "pcVar25 = pcVar13 + 1;" (assignment_expression "pcVar25 = pcVar13 + 1" (identifier "pcVar25") (= "=") (binary_expression "pcVar13 + 1" (identifier "pcVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcVar25 < pcVar21) {\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }\n      else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }" (if "if") (parenthesized_expression "(pcVar25 < pcVar21)" (( "(") (binary_expression "pcVar25 < pcVar21" (identifier "pcVar25") (< "<") (identifier "pcVar21")) () ")")) (compound_statement "{\n        lVar24 = 1;\nLAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);\n        uVar26 = (ulong)uVar8;\n        puVar14 = local_868 + uVar8;\n      }" ({ "{") (expression_statement "lVar24 = 1;" (assignment_expression "lVar24 = 1" (identifier "lVar24") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00148b15:\n        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);" (statement_identifier "LAB_00148b15") (: ":") (expression_statement "uVar8 = (*DAT_00196f88)(pcVar13,lVar24);" (assignment_expression "uVar8 = (*DAT_00196f88)(pcVar13,lVar24)" (identifier "uVar8") (= "=") (call_expression "(*DAT_00196f88)(pcVar13,lVar24)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar13,lVar24)" (( "(") (identifier "pcVar13") (, ",") (identifier "lVar24") () ")")))) (; ";"))) (expression_statement "uVar26 = (ulong)uVar8;" (assignment_expression "uVar26 = (ulong)uVar8" (identifier "uVar26") (= "=") (cast_expression "(ulong)uVar8" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar8"))) (; ";")) (expression_statement "puVar14 = local_868 + uVar8;" (assignment_expression "puVar14 = local_868 + uVar8" (identifier "puVar14") (= "=") (binary_expression "local_868 + uVar8" (identifier "local_868") (+ "+") (identifier "uVar8"))) (; ";")) (} "}")) (else_clause "else {\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }" (else "else") (compound_statement "{\n        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;\n        uVar26 = 0;\n        puVar14 = local_868;\n      }" ({ "{") (if_statement "if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))\n        goto LAB_00148b15;" (if "if") (parenthesized_expression "((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))" (( "(") (binary_expression "(pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8)" (parenthesized_expression "(pcVar13 < pcVar21)" (( "(") (binary_expression "pcVar13 < pcVar21" (identifier "pcVar13") (< "<") (identifier "pcVar21")) () ")")) (&& "&&") (parenthesized_expression "(lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8)" (( "(") (comma_expression "lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8" (assignment_expression "lVar24 = (long)pcVar21 - (long)pcVar13" (identifier "lVar24") (= "=") (binary_expression "(long)pcVar21 - (long)pcVar13" (cast_expression "(long)pcVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar21")) (- "-") (cast_expression "(long)pcVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar13")))) (, ",") (binary_expression "(int)lVar24 - 1U < 8" (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar24")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00148b15;" (goto "goto") (statement_identifier "LAB_00148b15") (; ";"))) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" (identifier "uVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar14 = local_868;" (assignment_expression "puVar14 = local_868" (identifier "puVar14") (= "=") (identifier "local_868")) (; ";")) (} "}")))) (expression_statement "*puVar14 = (ulong)pcVar25;" (assignment_expression "*puVar14 = (ulong)pcVar25" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (cast_expression "(ulong)pcVar25" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "pcVar25"))) (; ";")) (expression_statement "lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "lVar24") (= "=") (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "FUN_0013fb20") (argument_list "(pcVar25,&local_840,0,pcVar21)" (( "(") (identifier "pcVar25") (, ",") (pointer_expression "&local_840" (& "&") (identifier "local_840")) (, ",") (number_literal "0") (, ",") (identifier "pcVar21") () ")")))) (; ";")) (expression_statement "pcVar13 = pcVar25 + local_840;" (assignment_expression "pcVar13 = pcVar25 + local_840" (identifier "pcVar13") (= "=") (binary_expression "pcVar25 + local_840" (identifier "pcVar25") (+ "+") (identifier "local_840"))) (; ";")) (if_statement "if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }" (if "if") (parenthesized_expression "(lVar24 == 0)" (( "(") (binary_expression "lVar24 == 0" (identifier "lVar24") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);\n        printf(pcVar25,uVar26);\n      }" ({ "{") (expression_statement "pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5)" (identifier "dcgettext") (argument_list "(0,"    DW_MACRO_%02x has no arguments\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""    DW_MACRO_%02x has no arguments\n"" (" """) (string_content "    DW_MACRO_%02x has no arguments") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar25,uVar26);" (call_expression "printf(pcVar25,uVar26)" (identifier "printf") (argument_list "(pcVar25,uVar26)" (( "(") (identifier "pcVar25") (, ",") (identifier "uVar26") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }" (else "else") (compound_statement "{\n        lVar27 = 0;\n        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);\n        printf(pcVar25,uVar26);\n        pcVar25 = pcVar13;\n        do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);\n      }" ({ "{") (expression_statement "lVar27 = 0;" (assignment_expression "lVar27 = 0" (identifier "lVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"    DW_MACRO_%02x arguments: ",5)" (identifier "dcgettext") (argument_list "(0,"    DW_MACRO_%02x arguments: ",5)" (( "(") (number_literal "0") (, ",") (string_literal ""    DW_MACRO_%02x arguments: "" (" """) (string_content "    DW_MACRO_%02x arguments: ") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar25,uVar26);" (call_expression "printf(pcVar25,uVar26)" (identifier "printf") (argument_list "(pcVar25,uVar26)" (( "(") (identifier "pcVar25") (, ",") (identifier "uVar26") () ")"))) (; ";")) (expression_statement "pcVar25 = pcVar13;" (assignment_expression "pcVar25 = pcVar13" (identifier "pcVar25") (= "=") (identifier "pcVar13")) (; ";")) (do_statement "do {\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        } while (lVar27 != lVar24);" (do "do") (compound_statement "{\n          pcVar13 = pcVar25 + 1;\n          if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }\n          lVar28 = 1;\nLAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);\n          pcVar25 = ", ";\n          if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }\n          uVar11 = FUN_0013eaf0(uVar8);\n          printf("%s%s",uVar11,pcVar25);\n          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;\n          lVar27 = lVar27 + 1;\n          pcVar25 = pcVar13;\n        }" ({ "{") (expression_statement "pcVar13 = pcVar25 + 1;" (assignment_expression "pcVar13 = pcVar25 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar25 + 1" (identifier "pcVar25") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcVar21 <= pcVar13) {\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }" (if "if") (parenthesized_expression "(pcVar21 <= pcVar13)" (( "(") (binary_expression "pcVar21 <= pcVar13" (identifier "pcVar21") (<= "<=") (identifier "pcVar13")) () ")")) (compound_statement "{\n            if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;\n            if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }\n            uVar8 = 0;\n            printf("%s%s",uVar11,pcVar25);\nLAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);\n            pcVar25 = "Invalid extension opcode form %s\n";\n            goto LAB_001480b3;\n          }" ({ "{") (if_statement "if ((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;" (if "if") (parenthesized_expression "((pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8))" (( "(") (binary_expression "(pcVar25 < pcVar21) &&\n               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)" (parenthesized_expression "(pcVar25 < pcVar21)" (( "(") (binary_expression "pcVar25 < pcVar21" (identifier "pcVar25") (< "<") (identifier "pcVar21")) () ")")) (&& "&&") (parenthesized_expression "(lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)" (( "(") (comma_expression "lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8" (assignment_expression "lVar28 = (long)pcVar21 - (long)pcVar25" (identifier "lVar28") (= "=") (binary_expression "(long)pcVar21 - (long)pcVar25" (cast_expression "(long)pcVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar21")) (- "-") (cast_expression "(long)pcVar25" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar25")))) (, ",") (binary_expression "(int)lVar28 - 1U < 8" (binary_expression "(int)lVar28 - 1U" (cast_expression "(int)lVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar28")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00148c15;" (goto "goto") (statement_identifier "LAB_00148c15") (; ";"))) (if_statement "if (lVar27 == lVar24 + -1) {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }\n            else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }" (if "if") (parenthesized_expression "(lVar27 == lVar24 + -1)" (( "(") (binary_expression "lVar27 == lVar24 + -1" (identifier "lVar27") (== "==") (binary_expression "lVar24 + -1" (identifier "lVar24") (+ "+") (number_literal "-1"))) () ")")) (compound_statement "{\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = "\n";\n            }" ({ "{") (expression_statement "uVar11 = FUN_0013eaf0(0);" (assignment_expression "uVar11 = FUN_0013eaf0(0)" (identifier "uVar11") (= "=") (call_expression "FUN_0013eaf0(0)" (identifier "FUN_0013eaf0") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar25 = "\n";" (assignment_expression "pcVar25 = "\n"" (identifier "pcVar25") (= "=") (string_literal ""\n"" (" """) (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }" (else "else") (compound_statement "{\n              uVar11 = FUN_0013eaf0(0);\n              pcVar25 = ", ";\n            }" ({ "{") (expression_statement "uVar11 = FUN_0013eaf0(0);" (assignment_expression "uVar11 = FUN_0013eaf0(0)" (identifier "uVar11") (= "=") (call_expression "FUN_0013eaf0(0)" (identifier "FUN_0013eaf0") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar25 = ", ";" (assignment_expression "pcVar25 = ", "" (identifier "pcVar25") (= "=") (string_literal "", "" (" """) (string_content ", ") (" """))) (; ";")) (} "}")))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "printf("%s%s",uVar11,pcVar25);" (call_expression "printf("%s%s",uVar11,pcVar25)" (identifier "printf") (argument_list "("%s%s",uVar11,pcVar25)" (( "(") (string_literal ""%s%s"" (" """) (string_content "%s%s") (" """)) (, ",") (identifier "uVar11") (, ",") (identifier "pcVar25") () ")"))) (; ";")) (labeled_statement "LAB_00148bf3:\n            uVar11 = FUN_0013eaf0(uVar8);" (statement_identifier "LAB_00148bf3") (: ":") (expression_statement "uVar11 = FUN_0013eaf0(uVar8);" (assignment_expression "uVar11 = FUN_0013eaf0(uVar8)" (identifier "uVar11") (= "=") (call_expression "FUN_0013eaf0(uVar8)" (identifier "FUN_0013eaf0") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";"))) (expression_statement "pcVar25 = "Invalid extension opcode form %s\n";" (assignment_expression "pcVar25 = "Invalid extension opcode form %s\n"" (identifier "pcVar25") (= "=") (string_literal ""Invalid extension opcode form %s\n"" (" """) (string_content "Invalid extension opcode form %s") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_001480b3;" (goto "goto") (statement_identifier "LAB_001480b3") (; ";")) (} "}"))) (expression_statement "lVar28 = 1;" (assignment_expression "lVar28 = 1" (identifier "lVar28") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00148c15:\n          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);" (statement_identifier "LAB_00148c15") (: ":") (expression_statement "uVar8 = (*DAT_00196f88)(pcVar25,lVar28);" (assignment_expression "uVar8 = (*DAT_00196f88)(pcVar25,lVar28)" (identifier "uVar8") (= "=") (call_expression "(*DAT_00196f88)(pcVar25,lVar28)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar25,lVar28)" (( "(") (identifier "pcVar25") (, ",") (identifier "lVar28") () ")")))) (; ";"))) (expression_statement "pcVar25 = ", ";" (assignment_expression "pcVar25 = ", "" (identifier "pcVar25") (= "=") (string_literal "", "" (" """) (string_content ", ") (" """))) (; ";")) (if_statement "if (lVar24 + -1 == lVar27) {\n            pcVar25 = "\n";\n          }" (if "if") (parenthesized_expression "(lVar24 + -1 == lVar27)" (( "(") (binary_expression "lVar24 + -1 == lVar27" (binary_expression "lVar24 + -1" (identifier "lVar24") (+ "+") (number_literal "-1")) (== "==") (identifier "lVar27")) () ")")) (compound_statement "{\n            pcVar25 = "\n";\n          }" ({ "{") (expression_statement "pcVar25 = "\n";" (assignment_expression "pcVar25 = "\n"" (identifier "pcVar25") (= "=") (string_literal ""\n"" (" """) (escape_sequence "\n") (" """))) (; ";")) (} "}"))) (expression_statement "uVar11 = FUN_0013eaf0(uVar8);" (assignment_expression "uVar11 = FUN_0013eaf0(uVar8)" (identifier "uVar11") (= "=") (call_expression "FUN_0013eaf0(uVar8)" (identifier "FUN_0013eaf0") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "printf("%s%s",uVar11,pcVar25);" (call_expression "printf("%s%s",uVar11,pcVar25)" (identifier "printf") (argument_list "("%s%s",uVar11,pcVar25)" (( "(") (string_literal ""%s%s"" (" """) (string_content "%s%s") (" """)) (, ",") (identifier "uVar11") (, ",") (identifier "pcVar25") () ")"))) (; ";")) (if_statement "if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;" (if "if") (parenthesized_expression "((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0))" (( "(") (binary_expression "(0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)" (parenthesized_expression "(0x17 < uVar8)" (( "(") (binary_expression "0x17 < uVar8" (number_literal "0x17") (< "<") (identifier "uVar8")) () ")")) (|| "||") (parenthesized_expression "((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)" (( "(") (binary_expression "(1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0" (parenthesized_expression "(1L << ((byte)uVar8 & 0x3f) & 0x80fff8U)" (( "(") (binary_expression "1L << ((byte)uVar8 & 0x3f) & 0x80fff8U" (binary_expression "1L << ((byte)uVar8 & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "((byte)uVar8 & 0x3f)" (( "(") (binary_expression "(byte)uVar8 & 0x3f" (cast_expression "(byte)uVar8" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar8")) (& "&") (number_literal "0x3f")) () ")"))) (& "&") (number_literal "0x80fff8U")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_00148bf3;" (goto "goto") (statement_identifier "LAB_00148bf3") (; ";"))) (expression_statement "lVar27 = lVar27 + 1;" (assignment_expression "lVar27 = lVar27 + 1" (identifier "lVar27") (= "=") (binary_expression "lVar27 + 1" (identifier "lVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar25 = pcVar13;" (assignment_expression "pcVar25 = pcVar13" (identifier "pcVar25") (= "=") (identifier "pcVar13")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar27 != lVar24)" (( "(") (binary_expression "lVar27 != lVar24" (identifier "lVar27") (!= "!=") (identifier "lVar24")) () ")")) (; ";")) (} "}")))) (expression_statement "uVar1 = uVar1 + 1;" (assignment_expression "uVar1 = uVar1 + 1" (identifier "uVar1") (= "=") (binary_expression "uVar1 + 1" (identifier "uVar1") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar1 < uVar6)" (( "(") (binary_expression "uVar1 < uVar6" (identifier "uVar1") (< "<") (identifier "uVar6")) () ")")) (; ";")) (} "}")))) (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (if_statement "if (pcVar13 < pcVar21) {\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }" (if "if") (parenthesized_expression "(pcVar13 < pcVar21)" (( "(") (binary_expression "pcVar13 < pcVar21" (identifier "pcVar13") (< "<") (identifier "pcVar21")) () ")")) (compound_statement "{\nLAB_0014840e:\n    pcVar25 = pcVar13 + 1;\n    if (pcVar25 < pcVar21) goto LAB_001484f6;\nLAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }\nLAB_00148456:\n    uVar26 = (ulong)uVar6;\n    pcVar13 = pcVar25;\n    switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }\n    goto LAB_001484e0;\n  }" ({ "{") (labeled_statement "LAB_0014840e:\n    pcVar25 = pcVar13 + 1;" (statement_identifier "LAB_0014840e") (: ":") (expression_statement "pcVar25 = pcVar13 + 1;" (assignment_expression "pcVar25 = pcVar13 + 1" (identifier "pcVar25") (= "=") (binary_expression "pcVar13 + 1" (identifier "pcVar13") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (pcVar25 < pcVar21) goto LAB_001484f6;" (if "if") (parenthesized_expression "(pcVar25 < pcVar21)" (( "(") (binary_expression "pcVar25 < pcVar21" (identifier "pcVar25") (< "<") (identifier "pcVar21")) () ")")) (goto_statement "goto LAB_001484f6;" (goto "goto") (statement_identifier "LAB_001484f6") (; ";"))) (labeled_statement "LAB_00148430:\n    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }" (statement_identifier "LAB_00148430") (: ":") (if_statement "if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {\n      putchar(10);\n      return 1;\n    }" (if "if") (parenthesized_expression "((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0))" (( "(") (binary_expression "(7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)" (parenthesized_expression "(7 < (iVar3 - (int)pcVar13) - 1U)" (( "(") (binary_expression "7 < (iVar3 - (int)pcVar13) - 1U" (number_literal "7") (< "<") (binary_expression "(iVar3 - (int)pcVar13) - 1U" (parenthesized_expression "(iVar3 - (int)pcVar13)" (( "(") (binary_expression "iVar3 - (int)pcVar13" (identifier "iVar3") (- "-") (cast_expression "(int)pcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar13"))) () ")")) (- "-") (number_literal "1U"))) () ")")) (|| "||") (parenthesized_expression "(uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)" (( "(") (comma_expression "uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0" (assignment_expression "uVar6 = (*DAT_00196f88)(pcVar13)" (identifier "uVar6") (= "=") (call_expression "(*DAT_00196f88)(pcVar13)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar13)" (( "(") (identifier "pcVar13") () ")")))) (, ",") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      putchar(10);\n      return 1;\n    }" ({ "{") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))) (labeled_statement "LAB_00148456:\n    uVar26 = (ulong)uVar6;" (statement_identifier "LAB_00148456") (: ":") (expression_statement "uVar26 = (ulong)uVar6;" (assignment_expression "uVar26 = (ulong)uVar6" (identifier "uVar26") (= "=") (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6"))) (; ";"))) (expression_statement "pcVar13 = pcVar25;" (assignment_expression "pcVar13 = pcVar25" (identifier "pcVar13") (= "=") (identifier "pcVar25")) (; ";")) (switch_statement "switch(uVar26) {\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }" (switch "switch") (parenthesized_expression "(uVar26)" (( "(") (identifier "uVar26") () ")")) (compound_statement "{\n    default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;\n    case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;\n    case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;\n    case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;\n    case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;\n    case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;\n    case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;\n    case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;\n    case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;\n    case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);\n    }" ({ "{") (case_statement "default:\n      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }\n      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);\n      if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }\n      break;" (default "default") (: ":") (if_statement "if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }" (if "if") (parenthesized_expression "((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0))" (( "(") (binary_expression "(local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)" (parenthesized_expression "(local_868 == (ulong *)0x0)" (( "(") (binary_expression "local_868 == (ulong *)0x0" (identifier "local_868") (== "==") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(uVar15 = local_868[uVar6], uVar15 == 0)" (( "(") (comma_expression "uVar15 = local_868[uVar6], uVar15 == 0" (assignment_expression "uVar15 = local_868[uVar6]" (identifier "uVar15") (= "=") (subscript_expression "local_868[uVar6]" (identifier "local_868") ([ "[") (identifier "uVar6") (] "]"))) (, ",") (binary_expression "uVar15 == 0" (identifier "uVar15") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);\n        error(uVar11,uVar26);\n        return 0;\n      }" ({ "{") (expression_statement "uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);" (assignment_expression "uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0," Unknown macro opcode %02x seen\n",5)" (identifier "dcgettext") (argument_list "(0," Unknown macro opcode %02x seen\n",5)" (( "(") (number_literal "0") (, ",") (string_literal "" Unknown macro opcode %02x seen\n"" (" """) (string_content " Unknown macro opcode %02x seen") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar11,uVar26);" (call_expression "error(uVar11,uVar26)" (identifier "error") (argument_list "(uVar11,uVar26)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar26") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);" (assignment_expression "lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21)" (identifier "lVar24") (= "=") (call_expression "FUN_0013fb20(uVar15,&local_840,0,pcVar21)" (identifier "FUN_0013fb20") (argument_list "(uVar15,&local_840,0,pcVar21)" (( "(") (identifier "uVar15") (, ",") (pointer_expression "&local_840" (& "&") (identifier "local_840")) (, ",") (number_literal "0") (, ",") (identifier "pcVar21") () ")")))) (; ";")) (if_statement "if (lVar24 == 0) {\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }\n      else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }" (if "if") (parenthesized_expression "(lVar24 == 0)" (( "(") (binary_expression "lVar24 == 0" (identifier "lVar24") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);\n        printf(pcVar25,uVar26);\n      }" ({ "{") (expression_statement "pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0," DW_MACRO_%02x\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," DW_MACRO_%02x\n",5)" (identifier "dcgettext") (argument_list "(0," DW_MACRO_%02x\n",5)" (( "(") (number_literal "0") (, ",") (string_literal "" DW_MACRO_%02x\n"" (" """) (string_content " DW_MACRO_%02x") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar25,uVar26);" (call_expression "printf(pcVar25,uVar26)" (identifier "printf") (argument_list "(pcVar25,uVar26)" (( "(") (identifier "pcVar25") (, ",") (identifier "uVar26") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }" (else "else") (compound_statement "{\n        pcVar31 = (char *)(uVar15 + local_840);\n        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);\n        printf(pcVar13,uVar26);\n        pcVar13 = pcVar31;\n        do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);\n        putchar(10);\n        pcVar13 = pcVar25;\n      }" ({ "{") (expression_statement "pcVar31 = (char *)(uVar15 + local_840);" (assignment_expression "pcVar31 = (char *)(uVar15 + local_840)" (identifier "pcVar31") (= "=") (cast_expression "(char *)(uVar15 + local_840)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar15 + local_840)" (( "(") (binary_expression "uVar15 + local_840" (identifier "uVar15") (+ "+") (identifier "local_840")) () ")")))) (; ";")) (expression_statement "pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5)" (identifier "pcVar13") (= "=") (cast_expression "(char *)dcgettext(0," DW_MACRO_%02x -",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," DW_MACRO_%02x -",5)" (identifier "dcgettext") (argument_list "(0," DW_MACRO_%02x -",5)" (( "(") (number_literal "0") (, ",") (string_literal "" DW_MACRO_%02x -"" (" """) (string_content " DW_MACRO_%02x -") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar13,uVar26);" (call_expression "printf(pcVar13,uVar26)" (identifier "printf") (argument_list "(pcVar13,uVar26)" (( "(") (identifier "pcVar13") (, ",") (identifier "uVar26") () ")"))) (; ";")) (expression_statement "pcVar13 = pcVar31;" (assignment_expression "pcVar13 = pcVar31" (identifier "pcVar13") (= "=") (identifier "pcVar31")) (; ";")) (do_statement "do {\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        } while (pcVar18 != pcVar31 + lVar24);" (do "do") (compound_statement "{\n          pcVar18 = pcVar13 + 1;\n          if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }\n          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);\n          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }\n          pcVar13 = pcVar18;\n        }" ({ "{") (expression_statement "pcVar18 = pcVar13 + 1;" (assignment_expression "pcVar18 = pcVar13 + 1" (identifier "pcVar18") (= "=") (binary_expression "pcVar13 + 1" (identifier "pcVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcVar18 < pcVar21) {\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }\n          else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }" (if "if") (parenthesized_expression "(pcVar18 < pcVar21)" (( "(") (binary_expression "pcVar18 < pcVar21" (identifier "pcVar18") (< "<") (identifier "pcVar21")) () ")")) (compound_statement "{\n            uVar26 = 1;\nLAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);\n            lVar27 = (long)iVar7;\n          }" ({ "{") (expression_statement "uVar26 = 1;" (assignment_expression "uVar26 = 1" (identifier "uVar26") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00148aea:\n            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);" (statement_identifier "LAB_00148aea") (: ":") (expression_statement "iVar7 = (*DAT_00196f88)(pcVar13,uVar26);" (assignment_expression "iVar7 = (*DAT_00196f88)(pcVar13,uVar26)" (identifier "iVar7") (= "=") (call_expression "(*DAT_00196f88)(pcVar13,uVar26)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar13,uVar26)" (( "(") (identifier "pcVar13") (, ",") (identifier "uVar26") () ")")))) (; ";"))) (expression_statement "lVar27 = (long)iVar7;" (assignment_expression "lVar27 = (long)iVar7" (identifier "lVar27") (= "=") (cast_expression "(long)iVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar7"))) (; ";")) (} "}")) (else_clause "else {\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }" (else "else") (compound_statement "{\n            lVar27 = 0;\n            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }\n          }" ({ "{") (expression_statement "lVar27 = 0;" (assignment_expression "lVar27 = 0" (identifier "lVar27") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }" (if "if") (parenthesized_expression "((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8))" (( "(") (binary_expression "(pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)" (parenthesized_expression "(pcVar13 < pcVar21)" (( "(") (binary_expression "pcVar13 < pcVar21" (identifier "pcVar13") (< "<") (identifier "pcVar21")) () ")")) (&& "&&") (parenthesized_expression "((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)" (( "(") (binary_expression "(int)((long)pcVar21 - (long)pcVar13) - 1U < 8" (binary_expression "(int)((long)pcVar21 - (long)pcVar13) - 1U" (cast_expression "(int)((long)pcVar21 - (long)pcVar13)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((long)pcVar21 - (long)pcVar13)" (( "(") (binary_expression "(long)pcVar21 - (long)pcVar13" (cast_expression "(long)pcVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar21")) (- "-") (cast_expression "(long)pcVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar13"))) () ")"))) (- "-") (number_literal "1U")) (< "<") (number_literal "8")) () ")"))) () ")")) (compound_statement "{\n              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;\n              goto LAB_00148aea;\n            }" ({ "{") (expression_statement "uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;" (assignment_expression "uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff" (identifier "uVar26") (= "=") (binary_expression "(long)pcVar21 - (long)pcVar13 & 0xffffffff" (binary_expression "(long)pcVar21 - (long)pcVar13" (cast_expression "(long)pcVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar21")) (- "-") (cast_expression "(long)pcVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar13"))) (& "&") (number_literal "0xffffffff"))) (; ";")) (goto_statement "goto LAB_00148aea;" (goto "goto") (statement_identifier "LAB_00148aea") (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);" (assignment_expression "pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20)" (identifier "pcVar25") (= "=") (cast_expression "(char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20)" (identifier "FUN_00142840") (argument_list "(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20)" (( "(") (number_literal "0") (, ",") (identifier "lVar27") (, ",") (number_literal "0") (, ",") (identifier "pcVar25") (, ",") (identifier "pcVar21") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "uVar29") (, ",") (identifier "uVar5") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x20") () ")"))))) (; ";")) (if_statement "if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {\n            putchar(0x2c);\n          }" (if "if") (parenthesized_expression "((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31)" (( "(") (binary_expression "(char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31" (cast_expression "(char *)(lVar24 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar24 + -1)" (( "(") (binary_expression "lVar24 + -1" (identifier "lVar24") (+ "+") (number_literal "-1")) () ")"))) (!= "!=") (binary_expression "pcVar18 + ~(ulong)pcVar31" (identifier "pcVar18") (+ "+") (unary_expression "~(ulong)pcVar31" (~ "~") (cast_expression "(ulong)pcVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "pcVar31"))))) () ")")) (compound_statement "{\n            putchar(0x2c);\n          }" ({ "{") (expression_statement "putchar(0x2c);" (call_expression "putchar(0x2c)" (identifier "putchar") (argument_list "(0x2c)" (( "(") (number_literal "0x2c") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar13 = pcVar18;" (assignment_expression "pcVar13 = pcVar18" (identifier "pcVar13") (= "=") (identifier "pcVar18")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar18 != pcVar31 + lVar24)" (( "(") (binary_expression "pcVar18 != pcVar31 + lVar24" (identifier "pcVar18") (!= "!=") (binary_expression "pcVar31 + lVar24" (identifier "pcVar31") (+ "+") (identifier "lVar24"))) () ")")) (; ";")) (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (expression_statement "pcVar13 = pcVar25;" (assignment_expression "pcVar13 = pcVar25" (identifier "pcVar13") (= "=") (identifier "pcVar25")) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\n      goto LAB_00148802;" (case "case") (number_literal "1") (: ":") (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "uVar26") (= "=") (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "FUN_0013fb20") (argument_list "(pcVar25,&local_840,0,pcVar21)" (( "(") (identifier "pcVar25") (, ",") (pointer_expression "&local_840" (& "&") (identifier "local_840")) (, ",") (number_literal "0") (, ",") (identifier "pcVar21") () ")")))) (; ";")) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" (identifier "pcVar25") (= "=") (binary_expression "pcVar25 + local_840" (identifier "pcVar25") (+ "+") (identifier "local_840"))) (; ";")) (expression_statement "sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);" (assignment_expression "sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25)" (identifier "sVar17") (= "=") (call_expression "strnlen(pcVar25,(long)pcVar21 - (long)pcVar25)" (identifier "strnlen") (argument_list "(pcVar25,(long)pcVar21 - (long)pcVar25)" (( "(") (identifier "pcVar25") (, ",") (binary_expression "(long)pcVar21 - (long)pcVar25" (cast_expression "(long)pcVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar21")) (- "-") (cast_expression "(long)pcVar25" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar25"))) () ")")))) (; ";")) (expression_statement "pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";" (assignment_expression "pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n"" (identifier "pcVar31") (= "=") (string_literal "" DW_MACRO_define - lineno : %d macro : %s\n"" (" """) (string_content " DW_MACRO_define - lineno : %d macro : %s") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "pcVar13 = pcVar25 + sVar17 + 1;" (assignment_expression "pcVar13 = pcVar25 + sVar17 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar25 + sVar17 + 1" (binary_expression "pcVar25 + sVar17" (identifier "pcVar25") (+ "+") (identifier "sVar17")) (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_00148802;" (goto "goto") (statement_identifier "LAB_00148802") (; ";"))) (case_statement "case 2:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);\n      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";\n      pcVar13 = pcVar25 + sVar17 + 1;\nLAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);\n      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);\n      break;" (case "case") (number_literal "2") (: ":") (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "uVar26") (= "=") (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "FUN_0013fb20") (argument_list "(pcVar25,&local_840,0,pcVar21)" (( "(") (identifier "pcVar25") (, ",") (pointer_expression "&local_840" (& "&") (identifier "local_840")) (, ",") (number_literal "0") (, ",") (identifier "pcVar21") () ")")))) (; ";")) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" (identifier "pcVar25") (= "=") (binary_expression "pcVar25 + local_840" (identifier "pcVar25") (+ "+") (identifier "local_840"))) (; ";")) (expression_statement "sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);" (assignment_expression "sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25)" (identifier "sVar17") (= "=") (call_expression "strnlen(pcVar25,(long)pcVar21 - (long)pcVar25)" (identifier "strnlen") (argument_list "(pcVar25,(long)pcVar21 - (long)pcVar25)" (( "(") (identifier "pcVar25") (, ",") (binary_expression "(long)pcVar21 - (long)pcVar25" (cast_expression "(long)pcVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar21")) (- "-") (cast_expression "(long)pcVar25" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar25"))) () ")")))) (; ";")) (expression_statement "pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";" (assignment_expression "pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n"" (identifier "pcVar31") (= "=") (string_literal "" DW_MACRO_undef - lineno : %d macro : %s\n"" (" """) (string_content " DW_MACRO_undef - lineno : %d macro : %s") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "pcVar13 = pcVar25 + sVar17 + 1;" (assignment_expression "pcVar13 = pcVar25 + sVar17 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar25 + sVar17 + 1" (binary_expression "pcVar25 + sVar17" (identifier "pcVar25") (+ "+") (identifier "sVar17")) (+ "+") (number_literal "1"))) (; ";")) (labeled_statement "LAB_00148802:\n      pcVar31 = (char *)dcgettext(0,pcVar31,5);" (statement_identifier "LAB_00148802") (: ":") (expression_statement "pcVar31 = (char *)dcgettext(0,pcVar31,5);" (assignment_expression "pcVar31 = (char *)dcgettext(0,pcVar31,5)" (identifier "pcVar31") (= "=") (cast_expression "(char *)dcgettext(0,pcVar31,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar31,5)" (identifier "dcgettext") (argument_list "(0,pcVar31,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar31") (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar31,uVar26 & 0xffffffff,pcVar25);" (call_expression "printf(pcVar31,uVar26 & 0xffffffff,pcVar25)" (identifier "printf") (argument_list "(pcVar31,uVar26 & 0xffffffff,pcVar25)" (( "(") (identifier "pcVar31") (, ",") (binary_expression "uVar26 & 0xffffffff" (identifier "uVar26") (& "&") (number_literal "0xffffffff")) (, ",") (identifier "pcVar25") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      uVar30 = (ulong)local_840;\n      uVar15 = FUN_0013fb20(pcVar25 + uVar30);\n      pcVar13 = pcVar25 + uVar30 + local_840;\n      if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_0014879b;" (case "case") (number_literal "3") (: ":") (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "uVar26") (= "=") (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "FUN_0013fb20") (argument_list "(pcVar25,&local_840,0,pcVar21)" (( "(") (identifier "pcVar25") (, ",") (pointer_expression "&local_840" (& "&") (identifier "local_840")) (, ",") (number_literal "0") (, ",") (identifier "pcVar21") () ")")))) (; ";")) (expression_statement "uVar30 = (ulong)local_840;" (assignment_expression "uVar30 = (ulong)local_840" (identifier "uVar30") (= "=") (cast_expression "(ulong)local_840" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_840"))) (; ";")) (expression_statement "uVar15 = FUN_0013fb20(pcVar25 + uVar30);" (assignment_expression "uVar15 = FUN_0013fb20(pcVar25 + uVar30)" (identifier "uVar15") (= "=") (call_expression "FUN_0013fb20(pcVar25 + uVar30)" (identifier "FUN_0013fb20") (argument_list "(pcVar25 + uVar30)" (( "(") (binary_expression "pcVar25 + uVar30" (identifier "pcVar25") (+ "+") (identifier "uVar30")) () ")")))) (; ";")) (expression_statement "pcVar13 = pcVar25 + uVar30 + local_840;" (assignment_expression "pcVar13 = pcVar25 + uVar30 + local_840" (identifier "pcVar13") (= "=") (binary_expression "pcVar25 + uVar30 + local_840" (binary_expression "pcVar25 + uVar30" (identifier "pcVar25") (+ "+") (identifier "uVar30")) (+ "+") (identifier "local_840"))) (; ";")) (if_statement "if ((uVar12 & 2) == 0) {\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }\n      else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "((uVar12 & 2) == 0)" (( "(") (binary_expression "(uVar12 & 2) == 0" (parenthesized_expression "(uVar12 & 2)" (( "(") (binary_expression "uVar12 & 2" (identifier "uVar12") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);\n        error(uVar11);\n      }" ({ "{") (expression_statement "uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);" (assignment_expression "uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5)" (identifier "dcgettext") (argument_list "(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""DW_MACRO_start_file used, but no .debug_line offset provided.\n"" (" """) (string_content "DW_MACRO_start_file used, but no .debug_line offset provided.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar11);" (call_expression "error(uVar11)" (identifier "error") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }" (else "else") (compound_statement "{\n        uVar30 = uVar15 & 0xffffffff;\n        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "uVar30 = uVar15 & 0xffffffff;" (assignment_expression "uVar30 = uVar15 & 0xffffffff" (identifier "uVar30") (= "=") (binary_expression "uVar15 & 0xffffffff" (identifier "uVar15") (& "&") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0))" (( "(") (binary_expression "((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)" (parenthesized_expression "((DAT_001912a0 != 0) && (local_878 < DAT_001912b0))" (( "(") (binary_expression "(DAT_001912a0 != 0) && (local_878 < DAT_001912b0)" (parenthesized_expression "(DAT_001912a0 != 0)" (( "(") (binary_expression "DAT_001912a0 != 0" (identifier "DAT_001912a0") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_878 < DAT_001912b0)" (( "(") (binary_expression "local_878 < DAT_001912b0" (identifier "local_878") (< "<") (identifier "DAT_001912b0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uVar30 != 0)" (( "(") (binary_expression "uVar30 != 0" (identifier "uVar30") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          pcVar31 = (char *)(DAT_001912a0 + local_878);\n          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);\n          pcVar25 = pcVar31 + 4;\n          pcVar18 = pcVar25;\n          if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }\nLAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "pcVar31 = (char *)(DAT_001912a0 + local_878);" (assignment_expression "pcVar31 = (char *)(DAT_001912a0 + local_878)" (identifier "pcVar31") (= "=") (cast_expression "(char *)(DAT_001912a0 + local_878)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001912a0 + local_878)" (( "(") (binary_expression "DAT_001912a0 + local_878" (identifier "DAT_001912a0") (+ "+") (identifier "local_878")) () ")")))) (; ";")) (expression_statement "pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);" (assignment_expression "pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0)" (identifier "pcVar22") (= "=") (cast_expression "(char *)(DAT_001912a0 + DAT_001912b0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001912a0 + DAT_001912b0)" (( "(") (binary_expression "DAT_001912a0 + DAT_001912b0" (identifier "DAT_001912a0") (+ "+") (identifier "DAT_001912b0")) () ")")))) (; ";")) (expression_statement "pcVar25 = pcVar31 + 4;" (assignment_expression "pcVar25 = pcVar31 + 4" (identifier "pcVar25") (= "=") (binary_expression "pcVar31 + 4" (identifier "pcVar31") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pcVar18 = pcVar25;" (assignment_expression "pcVar18 = pcVar25" (identifier "pcVar18") (= "=") (identifier "pcVar25")) (; ";")) (if_statement "if (pcVar25 < pcVar22) {\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }\n          else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }" (if "if") (parenthesized_expression "(pcVar25 < pcVar22)" (( "(") (binary_expression "pcVar25 < pcVar22" (identifier "pcVar25") (< "<") (identifier "pcVar22")) () ")")) (compound_statement "{\n            lVar24 = 4;\nLAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);\n            uVar20 = 4;\n            iVar7 = 4;\n            if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }\n            uVar19 = uVar20 + uVar16;\n            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;\n          }" ({ "{") (expression_statement "lVar24 = 4;" (assignment_expression "lVar24 = 4" (identifier "lVar24") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_00148b35:\n            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);" (statement_identifier "LAB_00148b35") (: ":") (expression_statement "uVar16 = (*DAT_00196f88)(pcVar31,lVar24);" (assignment_expression "uVar16 = (*DAT_00196f88)(pcVar31,lVar24)" (identifier "uVar16") (= "=") (call_expression "(*DAT_00196f88)(pcVar31,lVar24)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar31,lVar24)" (( "(") (identifier "pcVar31") (, ",") (identifier "lVar24") () ")")))) (; ";"))) (expression_statement "uVar20 = 4;" (assignment_expression "uVar20 = 4" (identifier "uVar20") (= "=") (number_literal "4")) (; ";")) (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" (identifier "iVar7") (= "=") (number_literal "4")) (; ";")) (if_statement "if (uVar16 == 0xffffffff) {\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }" (if "if") (parenthesized_expression "(uVar16 == 0xffffffff)" (( "(") (binary_expression "uVar16 == 0xffffffff" (identifier "uVar16") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n              pcVar18 = pcVar31 + 0xc;\n              if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }\n              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);\n              uVar20 = 0xc;\n              iVar7 = 8;\n            }" ({ "{") (expression_statement "pcVar18 = pcVar31 + 0xc;" (assignment_expression "pcVar18 = pcVar31 + 0xc" (identifier "pcVar18") (= "=") (binary_expression "pcVar31 + 0xc" (identifier "pcVar31") (+ "+") (number_literal "0xc"))) (; ";")) (if_statement "if (pcVar18 < pcVar22) {\n                lVar24 = 8;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }" (if "if") (parenthesized_expression "(pcVar18 < pcVar22)" (( "(") (binary_expression "pcVar18 < pcVar22" (identifier "pcVar18") (< "<") (identifier "pcVar22")) () ")")) (compound_statement "{\n                lVar24 = 8;\n              }" ({ "{") (expression_statement "lVar24 = 8;" (assignment_expression "lVar24 = 8" (identifier "lVar24") (= "=") (number_literal "8")) (; ";")) (} "}")) (else_clause "else if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }" (else "else") (if_statement "if ((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }" (if "if") (parenthesized_expression "((pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U))" (( "(") (binary_expression "(pcVar22 <= pcVar25) ||\n                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)" (parenthesized_expression "(pcVar22 <= pcVar25)" (( "(") (binary_expression "pcVar22 <= pcVar25" (identifier "pcVar22") (<= "<=") (identifier "pcVar25")) () ")")) (|| "||") (parenthesized_expression "(lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)" (( "(") (comma_expression "lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U" (assignment_expression "lVar24 = (long)pcVar22 - (long)pcVar25" (identifier "lVar24") (= "=") (binary_expression "(long)pcVar22 - (long)pcVar25" (cast_expression "(long)pcVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar22")) (- "-") (cast_expression "(long)pcVar25" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar25")))) (, ",") (binary_expression "7 < (int)lVar24 - 1U" (number_literal "7") (< "<") (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar24")) (- "-") (number_literal "1U")))) () ")"))) () ")")) (compound_statement "{\n                uVar19 = 0xc;\n                iVar7 = 8;\n                goto LAB_00148941;\n              }" ({ "{") (expression_statement "uVar19 = 0xc;" (assignment_expression "uVar19 = 0xc" (identifier "uVar19") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" (identifier "iVar7") (= "=") (number_literal "8")) (; ";")) (goto_statement "goto LAB_00148941;" (goto "goto") (statement_identifier "LAB_00148941") (; ";")) (} "}"))))) (expression_statement "uVar16 = (*DAT_00196f88)(pcVar25,lVar24);" (assignment_expression "uVar16 = (*DAT_00196f88)(pcVar25,lVar24)" (identifier "uVar16") (= "=") (call_expression "(*DAT_00196f88)(pcVar25,lVar24)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar25,lVar24)" (( "(") (identifier "pcVar25") (, ",") (identifier "lVar24") () ")")))) (; ";")) (expression_statement "uVar20 = 0xc;" (assignment_expression "uVar20 = 0xc" (identifier "uVar20") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" (identifier "iVar7") (= "=") (number_literal "8")) (; ";")) (} "}"))) (expression_statement "uVar19 = uVar20 + uVar16;" (assignment_expression "uVar19 = uVar20 + uVar16" (identifier "uVar19") (= "=") (binary_expression "uVar20 + uVar16" (identifier "uVar20") (+ "+") (identifier "uVar16"))) (; ";")) (if_statement "if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;" (if "if") (parenthesized_expression "(CARRY8(uVar20,uVar16))" (( "(") (call_expression "CARRY8(uVar20,uVar16)" (identifier "CARRY8") (argument_list "(uVar20,uVar16)" (( "(") (identifier "uVar20") (, ",") (identifier "uVar16") () ")"))) () ")")) (goto_statement "goto LAB_0014879b;" (goto "goto") (statement_identifier "LAB_0014879b") (; ";"))) (} "}")) (else_clause "else {\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }" (else "else") (compound_statement "{\n            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;\n            uVar19 = 4;\n            iVar7 = 4;\n          }" ({ "{") (if_statement "if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))\n            goto LAB_00148b35;" (if "if") (parenthesized_expression "((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))" (( "(") (binary_expression "(pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8)" (parenthesized_expression "(pcVar31 < pcVar22)" (( "(") (binary_expression "pcVar31 < pcVar22" (identifier "pcVar31") (< "<") (identifier "pcVar22")) () ")")) (&& "&&") (parenthesized_expression "(lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8)" (( "(") (comma_expression "lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8" (assignment_expression "lVar24 = DAT_001912b0 - local_878" (identifier "lVar24") (= "=") (binary_expression "DAT_001912b0 - local_878" (identifier "DAT_001912b0") (- "-") (identifier "local_878"))) (, ",") (binary_expression "(int)lVar24 - 1U < 8" (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar24")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00148b35;" (goto "goto") (statement_identifier "LAB_00148b35") (; ";"))) (expression_statement "uVar19 = 4;" (assignment_expression "uVar19 = 4" (identifier "uVar19") (= "=") (number_literal "4")) (; ";")) (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" (identifier "iVar7") (= "=") (number_literal "4")) (; ";")) (} "}")))) (labeled_statement "LAB_00148941:\n          if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }" (statement_identifier "LAB_00148941") (: ":") (if_statement "if (uVar19 <= DAT_001912b0) {\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(uVar19 <= DAT_001912b0)" (( "(") (binary_expression "uVar19 <= DAT_001912b0" (identifier "uVar19") (<= "<=") (identifier "DAT_001912b0")) () ")")) (compound_statement "{\n            if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;\n            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);\n            if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }\n          }" ({ "{") (if_statement "if (pcVar18 + 2 < pcVar22) {\n              lVar24 = 2;\n            }\n            else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;" (if "if") (parenthesized_expression "(pcVar18 + 2 < pcVar22)" (( "(") (binary_expression "pcVar18 + 2 < pcVar22" (binary_expression "pcVar18 + 2" (identifier "pcVar18") (+ "+") (number_literal "2")) (< "<") (identifier "pcVar22")) () ")")) (compound_statement "{\n              lVar24 = 2;\n            }" ({ "{") (expression_statement "lVar24 = 2;" (assignment_expression "lVar24 = 2" (identifier "lVar24") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;" (else "else") (if_statement "if ((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))\n            goto LAB_0014879b;" (if "if") (parenthesized_expression "((pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))" (( "(") (binary_expression "(pcVar22 <= pcVar18) ||\n                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U)" (parenthesized_expression "(pcVar22 <= pcVar18)" (( "(") (binary_expression "pcVar22 <= pcVar18" (identifier "pcVar22") (<= "<=") (identifier "pcVar18")) () ")")) (|| "||") (parenthesized_expression "(lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U)" (( "(") (comma_expression "lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U" (assignment_expression "lVar24 = (long)pcVar22 - (long)pcVar18" (identifier "lVar24") (= "=") (binary_expression "(long)pcVar22 - (long)pcVar18" (cast_expression "(long)pcVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar22")) (- "-") (cast_expression "(long)pcVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar18")))) (, ",") (binary_expression "7 < (int)lVar24 - 1U" (number_literal "7") (< "<") (binary_expression "(int)lVar24 - 1U" (cast_expression "(int)lVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar24")) (- "-") (number_literal "1U")))) () ")"))) () ")")) (goto_statement "goto LAB_0014879b;" (goto "goto") (statement_identifier "LAB_0014879b") (; ";"))))) (expression_statement "iVar9 = (*DAT_00196f88)(pcVar18,lVar24);" (assignment_expression "iVar9 = (*DAT_00196f88)(pcVar18,lVar24)" (identifier "iVar9") (= "=") (call_expression "(*DAT_00196f88)(pcVar18,lVar24)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar18,lVar24)" (( "(") (identifier "pcVar18") (, ",") (identifier "lVar24") () ")")))) (; ";")) (if_statement "if (iVar9 - 2U < 3) {\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }" (if "if") (parenthesized_expression "(iVar9 - 2U < 3)" (( "(") (binary_expression "iVar9 - 2U < 3" (binary_expression "iVar9 - 2U" (identifier "iVar9") (- "-") (number_literal "2U")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;\n              pcVar25 = pcVar18 + lVar24 + 3;\n              if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;\n              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);\n              if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }\n            }" ({ "{") (expression_statement "lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;" (assignment_expression "lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2" (identifier "lVar24") (= "=") (binary_expression "(ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2" (binary_expression "(ulong)(iVar9 == 4) + (ulong)(iVar7 + 1)" (call_expression "(ulong)(iVar9 == 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar9 == 4)" (( "(") (binary_expression "iVar9 == 4" (identifier "iVar9") (== "==") (number_literal "4")) () ")"))) (+ "+") (call_expression "(ulong)(iVar7 + 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar7 + 1)" (( "(") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1")) () ")")))) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pcVar25 = pcVar18 + lVar24 + 3;" (assignment_expression "pcVar25 = pcVar18 + lVar24 + 3" (identifier "pcVar25") (= "=") (binary_expression "pcVar18 + lVar24 + 3" (binary_expression "pcVar18 + lVar24" (identifier "pcVar18") (+ "+") (identifier "lVar24")) (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (pcVar18 + lVar24 + 4 < pcVar22) {\n                lVar27 = 1;\n              }\n              else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;" (if "if") (parenthesized_expression "(pcVar18 + lVar24 + 4 < pcVar22)" (( "(") (binary_expression "pcVar18 + lVar24 + 4 < pcVar22" (binary_expression "pcVar18 + lVar24 + 4" (binary_expression "pcVar18 + lVar24" (identifier "pcVar18") (+ "+") (identifier "lVar24")) (+ "+") (number_literal "4")) (< "<") (identifier "pcVar22")) () ")")) (compound_statement "{\n                lVar27 = 1;\n              }" ({ "{") (expression_statement "lVar27 = 1;" (assignment_expression "lVar27 = 1" (identifier "lVar27") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;" (else "else") (if_statement "if ((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))\n              goto LAB_0014879b;" (if "if") (parenthesized_expression "((pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))" (( "(") (binary_expression "(pcVar22 <= pcVar25) ||\n                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U)" (parenthesized_expression "(pcVar22 <= pcVar25)" (( "(") (binary_expression "pcVar22 <= pcVar25" (identifier "pcVar22") (<= "<=") (identifier "pcVar25")) () ")")) (|| "||") (parenthesized_expression "(lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U)" (( "(") (comma_expression "lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U" (assignment_expression "lVar27 = (long)pcVar22 - (long)pcVar25" (identifier "lVar27") (= "=") (binary_expression "(long)pcVar22 - (long)pcVar25" (cast_expression "(long)pcVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar22")) (- "-") (cast_expression "(long)pcVar25" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar25")))) (, ",") (binary_expression "7 < (int)lVar27 - 1U" (number_literal "7") (< "<") (binary_expression "(int)lVar27 - 1U" (cast_expression "(int)lVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar27")) (- "-") (number_literal "1U")))) () ")"))) () ")")) (goto_statement "goto LAB_0014879b;" (goto "goto") (statement_identifier "LAB_0014879b") (; ";"))))) (expression_statement "iVar7 = (*DAT_00196f88)(pcVar25,lVar27);" (assignment_expression "iVar7 = (*DAT_00196f88)(pcVar25,lVar27)" (identifier "iVar7") (= "=") (call_expression "(*DAT_00196f88)(pcVar25,lVar27)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar25,lVar27)" (( "(") (identifier "pcVar25") (, ",") (identifier "lVar27") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);\n                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }\n              }" ({ "{") (expression_statement "local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);" (assignment_expression "local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1)" (identifier "local_890") (= "=") (binary_expression "pcVar18 + lVar24 + 4 + (iVar7 - 1)" (binary_expression "pcVar18 + lVar24 + 4" (binary_expression "pcVar18 + lVar24" (identifier "pcVar18") (+ "+") (identifier "lVar24")) (+ "+") (number_literal "4")) (+ "+") (parenthesized_expression "(iVar7 - 1)" (( "(") (binary_expression "iVar7 - 1" (identifier "iVar7") (- "-") (number_literal "1")) () ")")))) (; ";")) (for_statement "for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }" (for "for") (( "(") (assignment_expression "pcVar25 = local_890" (identifier "pcVar25") (= "=") (identifier "local_890")) (; ";") (binary_expression "pcVar25 < pcVar22" (identifier "pcVar25") (< "<") (identifier "pcVar22")) (; ";") (assignment_expression "pcVar25 = pcVar25 + sVar17 + 1" (identifier "pcVar25") (= "=") (binary_expression "pcVar25 + sVar17 + 1" (binary_expression "pcVar25 + sVar17" (identifier "pcVar25") (+ "+") (identifier "sVar17")) (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n                  if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }\n                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);\n                }" ({ "{") (if_statement "if (*pcVar25 == '\0') {\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }" (if "if") (parenthesized_expression "(*pcVar25 == '\0')" (( "(") (binary_expression "*pcVar25 == '\0'" (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    pcVar31 = pcVar25 + 1;\n                    if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }\n                    break;\n                  }" ({ "{") (expression_statement "pcVar31 = pcVar25 + 1;" (assignment_expression "pcVar31 = pcVar25 + 1" (identifier "pcVar31") (= "=") (binary_expression "pcVar25 + 1" (identifier "pcVar25") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcVar31 < pcVar22) {\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }" (if "if") (parenthesized_expression "(pcVar31 < pcVar22)" (( "(") (binary_expression "pcVar31 < pcVar22" (identifier "pcVar31") (< "<") (identifier "pcVar22")) () ")")) (compound_statement "{\n                      cVar4 = pcVar25[1];\n                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;\n                      goto LAB_00148d9d;\n                    }" ({ "{") (expression_statement "cVar4 = pcVar25[1];" (assignment_expression "cVar4 = pcVar25[1]" (identifier "cVar4") (= "=") (subscript_expression "pcVar25[1]" (identifier "pcVar25") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;" (if "if") (parenthesized_expression "((uVar30 == 1) || (cVar4 == '\0'))" (( "(") (binary_expression "(uVar30 == 1) || (cVar4 == '\0')" (parenthesized_expression "(uVar30 == 1)" (( "(") (binary_expression "uVar30 == 1" (identifier "uVar30") (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(cVar4 == '\0')" (( "(") (binary_expression "cVar4 == '\0'" (identifier "cVar4") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_00148eec;" (goto "goto") (statement_identifier "LAB_00148eec") (; ";"))) (goto_statement "goto LAB_00148d9d;" (goto "goto") (statement_identifier "LAB_00148d9d") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);" (assignment_expression "sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25)" (identifier "sVar17") (= "=") (call_expression "strnlen(pcVar25,(long)pcVar22 - (long)pcVar25)" (identifier "strnlen") (argument_list "(pcVar25,(long)pcVar22 - (long)pcVar25)" (( "(") (identifier "pcVar25") (, ",") (binary_expression "(long)pcVar22 - (long)pcVar25" (cast_expression "(long)pcVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar22")) (- "-") (cast_expression "(long)pcVar25" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar25"))) () ")")))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}")))) (} "}"))) (} "}")))) (goto_statement "goto LAB_0014879b;" (goto "goto") (statement_identifier "LAB_0014879b") (; ";"))) (case_statement "case 4:\n      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);\n      printf(pcVar25);\n      break;" (case "case") (number_literal "4") (: ":") (expression_statement "pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0," DW_MACRO_end_file\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," DW_MACRO_end_file\n",5)" (identifier "dcgettext") (argument_list "(0," DW_MACRO_end_file\n",5)" (( "(") (number_literal "0") (, ",") (string_literal "" DW_MACRO_end_file\n"" (" """) (string_content " DW_MACRO_end_file") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar25);" (call_expression "printf(pcVar25)" (identifier "printf") (argument_list "(pcVar25)" (( "(") (identifier "pcVar25") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;" (case "case") (number_literal "5") (: ":") (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "uVar26") (= "=") (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "FUN_0013fb20") (argument_list "(pcVar25,&local_840,0,pcVar21)" (( "(") (identifier "pcVar25") (, ",") (pointer_expression "&local_840" (& "&") (identifier "local_840")) (, ",") (number_literal "0") (, ",") (identifier "pcVar21") () ")")))) (; ";")) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" (identifier "pcVar25") (= "=") (binary_expression "pcVar25 + local_840" (identifier "pcVar25") (+ "+") (identifier "local_840"))) (; ";")) (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" (identifier "pcVar13") (= "=") (binary_expression "pcVar25 + uVar29" (identifier "pcVar25") (+ "+") (identifier "uVar29"))) (; ";")) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" (identifier "uVar6") (= "=") (identifier "uVar29")) (; ";")) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" (if "if") (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" (( "(") (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" (( "(") (binary_expression "pcVar13 < pcVar21" (identifier "pcVar13") (< "<") (identifier "pcVar21")) () ")")) (|| "||") (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (( "(") (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" (( "(") (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (, ",") (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" (identifier "pcVar25") (< "<") (identifier "pcVar21")) (&& "&&") (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (( "(") (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" (identifier "uVar6") (= "=") (binary_expression "iVar3 - (int)pcVar25" (identifier "iVar3") (- "-") (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")))) (, ",") (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" (identifier "uVar6") (- "-") (number_literal "1")) (< "<") (number_literal "8"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" ({ "{") (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" (identifier "uVar11") (= "=") (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar25,uVar6)" (( "(") (identifier "pcVar25") (, ",") (identifier "uVar6") () ")")))) (; ";")) (} "}"))) (expression_statement "uVar11 = FUN_0013e880(uVar11);" (assignment_expression "uVar11 = FUN_0013e880(uVar11)" (identifier "uVar11") (= "=") (call_expression "FUN_0013e880(uVar11)" (identifier "FUN_0013e880") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")")))) (; ";")) (expression_statement "pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";" (assignment_expression "pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n"" (identifier "pcVar25") (= "=") (string_literal "" DW_MACRO_define_strp - lineno : %d macro : %s\n"" (" """) (string_content " DW_MACRO_define_strp - lineno : %d macro : %s") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_0014857d;" (goto "goto") (statement_identifier "LAB_0014857d") (; ";"))) (case_statement "case 6:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      uVar11 = FUN_0013e880(uVar11);\n      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";\n      goto LAB_0014857d;" (case "case") (number_literal "6") (: ":") (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "uVar26") (= "=") (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "FUN_0013fb20") (argument_list "(pcVar25,&local_840,0,pcVar21)" (( "(") (identifier "pcVar25") (, ",") (pointer_expression "&local_840" (& "&") (identifier "local_840")) (, ",") (number_literal "0") (, ",") (identifier "pcVar21") () ")")))) (; ";")) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" (identifier "pcVar25") (= "=") (binary_expression "pcVar25 + local_840" (identifier "pcVar25") (+ "+") (identifier "local_840"))) (; ";")) (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" (identifier "pcVar13") (= "=") (binary_expression "pcVar25 + uVar29" (identifier "pcVar25") (+ "+") (identifier "uVar29"))) (; ";")) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" (identifier "uVar6") (= "=") (identifier "uVar29")) (; ";")) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" (if "if") (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" (( "(") (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" (( "(") (binary_expression "pcVar13 < pcVar21" (identifier "pcVar13") (< "<") (identifier "pcVar21")) () ")")) (|| "||") (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (( "(") (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" (( "(") (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (, ",") (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" (identifier "pcVar25") (< "<") (identifier "pcVar21")) (&& "&&") (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (( "(") (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" (identifier "uVar6") (= "=") (binary_expression "iVar3 - (int)pcVar25" (identifier "iVar3") (- "-") (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")))) (, ",") (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" (identifier "uVar6") (- "-") (number_literal "1")) (< "<") (number_literal "8"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" ({ "{") (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" (identifier "uVar11") (= "=") (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar25,uVar6)" (( "(") (identifier "pcVar25") (, ",") (identifier "uVar6") () ")")))) (; ";")) (} "}"))) (expression_statement "uVar11 = FUN_0013e880(uVar11);" (assignment_expression "uVar11 = FUN_0013e880(uVar11)" (identifier "uVar11") (= "=") (call_expression "FUN_0013e880(uVar11)" (identifier "FUN_0013e880") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")")))) (; ";")) (expression_statement "pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";" (assignment_expression "pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n"" (identifier "pcVar25") (= "=") (string_literal "" DW_MACRO_undef_strp - lineno : %d macro : %s\n"" (" """) (string_content " DW_MACRO_undef_strp - lineno : %d macro : %s") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_0014857d;" (goto "goto") (statement_identifier "LAB_0014857d") (; ";"))) (case_statement "case 7:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";\n      goto LAB_001484c9;" (case "case") (number_literal "7") (: ":") (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" (identifier "pcVar13") (= "=") (binary_expression "pcVar25 + uVar29" (identifier "pcVar25") (+ "+") (identifier "uVar29"))) (; ";")) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" (identifier "uVar6") (= "=") (identifier "uVar29")) (; ";")) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" (if "if") (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" (( "(") (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" (( "(") (binary_expression "pcVar13 < pcVar21" (identifier "pcVar13") (< "<") (identifier "pcVar21")) () ")")) (|| "||") (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (( "(") (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" (( "(") (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (, ",") (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" (identifier "pcVar25") (< "<") (identifier "pcVar21")) (&& "&&") (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (( "(") (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" (identifier "uVar6") (= "=") (binary_expression "iVar3 - (int)pcVar25" (identifier "iVar3") (- "-") (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")))) (, ",") (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" (identifier "uVar6") (- "-") (number_literal "1")) (< "<") (number_literal "8"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" ({ "{") (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" (identifier "uVar11") (= "=") (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar25,uVar6)" (( "(") (identifier "pcVar25") (, ",") (identifier "uVar6") () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";" (assignment_expression "pcVar25 = " DW_MACRO_import - offset : 0x%lx\n"" (identifier "pcVar25") (= "=") (string_literal "" DW_MACRO_import - offset : 0x%lx\n"" (" """) (string_content " DW_MACRO_import - offset : 0x%lx") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_001484c9;" (goto "goto") (statement_identifier "LAB_001484c9") (; ";"))) (case_statement "case 8:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";\n      goto LAB_0014857d;" (case "case") (number_literal "8") (: ":") (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "uVar26") (= "=") (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "FUN_0013fb20") (argument_list "(pcVar25,&local_840,0,pcVar21)" (( "(") (identifier "pcVar25") (, ",") (pointer_expression "&local_840" (& "&") (identifier "local_840")) (, ",") (number_literal "0") (, ",") (identifier "pcVar21") () ")")))) (; ";")) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" (identifier "pcVar25") (= "=") (binary_expression "pcVar25 + local_840" (identifier "pcVar25") (+ "+") (identifier "local_840"))) (; ";")) (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" (identifier "pcVar13") (= "=") (binary_expression "pcVar25 + uVar29" (identifier "pcVar25") (+ "+") (identifier "uVar29"))) (; ";")) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" (identifier "uVar6") (= "=") (identifier "uVar29")) (; ";")) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" (if "if") (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" (( "(") (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" (( "(") (binary_expression "pcVar13 < pcVar21" (identifier "pcVar13") (< "<") (identifier "pcVar21")) () ")")) (|| "||") (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (( "(") (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" (( "(") (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (, ",") (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" (identifier "pcVar25") (< "<") (identifier "pcVar21")) (&& "&&") (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (( "(") (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" (identifier "uVar6") (= "=") (binary_expression "iVar3 - (int)pcVar25" (identifier "iVar3") (- "-") (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")))) (, ",") (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" (identifier "uVar6") (- "-") (number_literal "1")) (< "<") (number_literal "8"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" ({ "{") (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" (identifier "uVar11") (= "=") (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar25,uVar6)" (( "(") (identifier "pcVar25") (, ",") (identifier "uVar6") () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";" (assignment_expression "pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n"" (identifier "pcVar25") (= "=") (string_literal "" DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n"" (" """) (string_content " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_0014857d;" (goto "goto") (statement_identifier "LAB_0014857d") (; ";"))) (case_statement "case 9:\n      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);\n      pcVar25 = pcVar25 + local_840;\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";\nLAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar26 & 0xffffffff,uVar11);\n      break;" (case "case") (number_literal "9") (: ":") (expression_statement "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);" (assignment_expression "uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "uVar26") (= "=") (call_expression "FUN_0013fb20(pcVar25,&local_840,0,pcVar21)" (identifier "FUN_0013fb20") (argument_list "(pcVar25,&local_840,0,pcVar21)" (( "(") (identifier "pcVar25") (, ",") (pointer_expression "&local_840" (& "&") (identifier "local_840")) (, ",") (number_literal "0") (, ",") (identifier "pcVar21") () ")")))) (; ";")) (expression_statement "pcVar25 = pcVar25 + local_840;" (assignment_expression "pcVar25 = pcVar25 + local_840" (identifier "pcVar25") (= "=") (binary_expression "pcVar25 + local_840" (identifier "pcVar25") (+ "+") (identifier "local_840"))) (; ";")) (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" (identifier "pcVar13") (= "=") (binary_expression "pcVar25 + uVar29" (identifier "pcVar25") (+ "+") (identifier "uVar29"))) (; ";")) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" (identifier "uVar6") (= "=") (identifier "uVar29")) (; ";")) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" (if "if") (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" (( "(") (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" (( "(") (binary_expression "pcVar13 < pcVar21" (identifier "pcVar13") (< "<") (identifier "pcVar21")) () ")")) (|| "||") (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (( "(") (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" (( "(") (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (, ",") (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" (identifier "pcVar25") (< "<") (identifier "pcVar21")) (&& "&&") (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (( "(") (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" (identifier "uVar6") (= "=") (binary_expression "iVar3 - (int)pcVar25" (identifier "iVar3") (- "-") (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")))) (, ",") (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" (identifier "uVar6") (- "-") (number_literal "1")) (< "<") (number_literal "8"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" ({ "{") (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" (identifier "uVar11") (= "=") (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar25,uVar6)" (( "(") (identifier "pcVar25") (, ",") (identifier "uVar6") () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";" (assignment_expression "pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n"" (identifier "pcVar25") (= "=") (string_literal "" DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n"" (" """) (string_content " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_0014857d:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);" (statement_identifier "LAB_0014857d") (: ":") (expression_statement "pcVar25 = (char *)dcgettext(0,pcVar25,5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,pcVar25,5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0,pcVar25,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar25,5)" (identifier "dcgettext") (argument_list "(0,pcVar25,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar25") (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar25,uVar26 & 0xffffffff,uVar11);" (call_expression "printf(pcVar25,uVar26 & 0xffffffff,uVar11)" (identifier "printf") (argument_list "(pcVar25,uVar26 & 0xffffffff,uVar11)" (( "(") (identifier "pcVar25") (, ",") (binary_expression "uVar26 & 0xffffffff" (identifier "uVar26") (& "&") (number_literal "0xffffffff")) (, ",") (identifier "uVar11") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 10:\n      pcVar13 = pcVar25 + uVar29;\n      uVar6 = uVar29;\n      if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }\n      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";\nLAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);\n      printf(pcVar25,uVar11);" (case "case") (number_literal "10") (: ":") (expression_statement "pcVar13 = pcVar25 + uVar29;" (assignment_expression "pcVar13 = pcVar25 + uVar29" (identifier "pcVar13") (= "=") (binary_expression "pcVar25 + uVar29" (identifier "pcVar25") (+ "+") (identifier "uVar29"))) (; ";")) (expression_statement "uVar6 = uVar29;" (assignment_expression "uVar6 = uVar29" (identifier "uVar6") (= "=") (identifier "uVar29")) (; ";")) (if_statement "if ((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" (if "if") (parenthesized_expression "((pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))))" (( "(") (binary_expression "(pcVar13 < pcVar21) ||\n         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (parenthesized_expression "(pcVar13 < pcVar21)" (( "(") (binary_expression "pcVar13 < pcVar21" (identifier "pcVar13") (< "<") (identifier "pcVar21")) () ")")) (|| "||") (parenthesized_expression "((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))" (( "(") (parenthesized_expression "(uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8))" (( "(") (comma_expression "uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (, ",") (binary_expression "pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (binary_expression "pcVar25 < pcVar21" (identifier "pcVar25") (< "<") (identifier "pcVar21")) (&& "&&") (parenthesized_expression "(uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)" (( "(") (comma_expression "uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8" (assignment_expression "uVar6 = iVar3 - (int)pcVar25" (identifier "uVar6") (= "=") (binary_expression "iVar3 - (int)pcVar25" (identifier "iVar3") (- "-") (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")))) (, ",") (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" (identifier "uVar6") (- "-") (number_literal "1")) (< "<") (number_literal "8"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);\n      }" ({ "{") (expression_statement "uVar11 = (*DAT_00196f88)(pcVar25,uVar6);" (assignment_expression "uVar11 = (*DAT_00196f88)(pcVar25,uVar6)" (identifier "uVar11") (= "=") (call_expression "(*DAT_00196f88)(pcVar25,uVar6)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar25,uVar6)" (( "(") (identifier "pcVar25") (, ",") (identifier "uVar6") () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";" (assignment_expression "pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n"" (identifier "pcVar25") (= "=") (string_literal "" DW_MACRO_import_sup - offset : 0x%lx\n"" (" """) (string_content " DW_MACRO_import_sup - offset : 0x%lx") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_001484c9:\n      pcVar25 = (char *)dcgettext(0,pcVar25,5);" (statement_identifier "LAB_001484c9") (: ":") (expression_statement "pcVar25 = (char *)dcgettext(0,pcVar25,5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,pcVar25,5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0,pcVar25,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar25,5)" (identifier "dcgettext") (argument_list "(0,pcVar25,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar25") (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar25,uVar11);" (call_expression "printf(pcVar25,uVar11)" (identifier "printf") (argument_list "(pcVar25,uVar11)" (( "(") (identifier "pcVar25") (, ",") (identifier "uVar11") () ")"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_001484e0;" (goto "goto") (statement_identifier "LAB_001484e0") (; ";")) (} "}"))) (goto_statement "goto LAB_0014818e;" (goto "goto") (statement_identifier "LAB_0014818e") (; ";")) (while_statement "while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }" (while "while") (parenthesized_expression "((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1)))" (( "(") (parenthesized_expression "(cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))" (( "(") (comma_expression "cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1)" (assignment_expression "cVar4 = *pcVar31" (identifier "cVar4") (= "=") (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31"))) (, ",") (binary_expression "cVar4 != '\0' && (uVar30 != 1)" (binary_expression "cVar4 != '\0'" (identifier "cVar4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(uVar30 != 1)" (( "(") (binary_expression "uVar30 != 1" (identifier "uVar30") (!= "!=") (number_literal "1")) () ")")))) () ")")) () ")")) (compound_statement "{\nLAB_00148d9d:\n    uVar30 = uVar30 - 1;\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    pcVar31 = pcVar31 + sVar17 + 1;\n    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);\n    pcVar31 = pcVar31 + local_83c;\n    FUN_0013fb20(pcVar31);\n    uVar16 = (ulong)local_83c;\n    FUN_0013fb20(pcVar31 + uVar16);\n    pcVar31 = pcVar31 + uVar16 + local_83c;\n    if (pcVar22 <= pcVar31) goto LAB_0014879b;\n  }" ({ "{") (labeled_statement "LAB_00148d9d:\n    uVar30 = uVar30 - 1;" (statement_identifier "LAB_00148d9d") (: ":") (expression_statement "uVar30 = uVar30 - 1;" (assignment_expression "uVar30 = uVar30 - 1" (identifier "uVar30") (= "=") (binary_expression "uVar30 - 1" (identifier "uVar30") (- "-") (number_literal "1"))) (; ";"))) (expression_statement "sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);" (assignment_expression "sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31)" (identifier "sVar17") (= "=") (call_expression "strnlen(pcVar31,(long)pcVar22 - (long)pcVar31)" (identifier "strnlen") (argument_list "(pcVar31,(long)pcVar22 - (long)pcVar31)" (( "(") (identifier "pcVar31") (, ",") (binary_expression "(long)pcVar22 - (long)pcVar31" (cast_expression "(long)pcVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar22")) (- "-") (cast_expression "(long)pcVar31" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar31"))) () ")")))) (; ";")) (expression_statement "pcVar31 = pcVar31 + sVar17 + 1;" (assignment_expression "pcVar31 = pcVar31 + sVar17 + 1" (identifier "pcVar31") (= "=") (binary_expression "pcVar31 + sVar17 + 1" (binary_expression "pcVar31 + sVar17" (identifier "pcVar31") (+ "+") (identifier "sVar17")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);" (call_expression "FUN_0013fb20(pcVar31,&local_83c,0,pcVar22)" (identifier "FUN_0013fb20") (argument_list "(pcVar31,&local_83c,0,pcVar22)" (( "(") (identifier "pcVar31") (, ",") (pointer_expression "&local_83c" (& "&") (identifier "local_83c")) (, ",") (number_literal "0") (, ",") (identifier "pcVar22") () ")"))) (; ";")) (expression_statement "pcVar31 = pcVar31 + local_83c;" (assignment_expression "pcVar31 = pcVar31 + local_83c" (identifier "pcVar31") (= "=") (binary_expression "pcVar31 + local_83c" (identifier "pcVar31") (+ "+") (identifier "local_83c"))) (; ";")) (expression_statement "FUN_0013fb20(pcVar31);" (call_expression "FUN_0013fb20(pcVar31)" (identifier "FUN_0013fb20") (argument_list "(pcVar31)" (( "(") (identifier "pcVar31") () ")"))) (; ";")) (expression_statement "uVar16 = (ulong)local_83c;" (assignment_expression "uVar16 = (ulong)local_83c" (identifier "uVar16") (= "=") (cast_expression "(ulong)local_83c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_83c"))) (; ";")) (expression_statement "FUN_0013fb20(pcVar31 + uVar16);" (call_expression "FUN_0013fb20(pcVar31 + uVar16)" (identifier "FUN_0013fb20") (argument_list "(pcVar31 + uVar16)" (( "(") (binary_expression "pcVar31 + uVar16" (identifier "pcVar31") (+ "+") (identifier "uVar16")) () ")"))) (; ";")) (expression_statement "pcVar31 = pcVar31 + uVar16 + local_83c;" (assignment_expression "pcVar31 = pcVar31 + uVar16 + local_83c" (identifier "pcVar31") (= "=") (binary_expression "pcVar31 + uVar16 + local_83c" (binary_expression "pcVar31 + uVar16" (identifier "pcVar31") (+ "+") (identifier "uVar16")) (+ "+") (identifier "local_83c"))) (; ";")) (if_statement "if (pcVar22 <= pcVar31) goto LAB_0014879b;" (if "if") (parenthesized_expression "(pcVar22 <= pcVar31)" (( "(") (binary_expression "pcVar22 <= pcVar31" (identifier "pcVar22") (<= "<=") (identifier "pcVar31")) () ")")) (goto_statement "goto LAB_0014879b;" (goto "goto") (statement_identifier "LAB_0014879b") (; ";"))) (} "}"))) (labeled_statement "LAB_00148eec:\n  if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }" (statement_identifier "LAB_00148eec") (: ":") (if_statement "if (cVar4 != '\0') {\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }" (if "if") (parenthesized_expression "(cVar4 != '\0')" (( "(") (binary_expression "cVar4 != '\0'" (identifier "cVar4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);\n    if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }\n  }" ({ "{") (expression_statement "sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);" (assignment_expression "sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31)" (identifier "sVar17") (= "=") (call_expression "strnlen(pcVar31,(long)pcVar22 - (long)pcVar31)" (identifier "strnlen") (argument_list "(pcVar31,(long)pcVar22 - (long)pcVar31)" (( "(") (identifier "pcVar31") (, ",") (binary_expression "(long)pcVar22 - (long)pcVar31" (cast_expression "(long)pcVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar22")) (- "-") (cast_expression "(long)pcVar31" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar31"))) () ")")))) (; ";")) (if_statement "if (pcVar31 + sVar17 + 1 < pcVar22) {\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }" (if "if") (parenthesized_expression "(pcVar31 + sVar17 + 1 < pcVar22)" (( "(") (binary_expression "pcVar31 + sVar17 + 1 < pcVar22" (binary_expression "pcVar31 + sVar17 + 1" (binary_expression "pcVar31 + sVar17" (identifier "pcVar31") (+ "+") (identifier "sVar17")) (+ "+") (number_literal "1")) (< "<") (identifier "pcVar22")) () ")")) (compound_statement "{\n      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);\n      if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }\n      do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);\n    }" ({ "{") (expression_statement "uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);" (assignment_expression "uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22)" (identifier "uVar30") (= "=") (call_expression "FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22)" (identifier "FUN_0013fb20") (argument_list "(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22)" (( "(") (binary_expression "pcVar31 + sVar17 + 1" (binary_expression "pcVar31 + sVar17" (identifier "pcVar31") (+ "+") (identifier "sVar17")) (+ "+") (number_literal "1")) (, ",") (pointer_expression "&local_83c" (& "&") (identifier "local_83c")) (, ",") (number_literal "0") (, ",") (identifier "pcVar22") () ")")))) (; ";")) (if_statement "if (uVar30 == 0) {\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }" (if "if") (parenthesized_expression "(uVar30 == 0)" (( "(") (binary_expression "uVar30 == 0" (identifier "uVar30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_890 = "";\n        puVar23 = &DAT_00169c35;\nLAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);\n        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);\n        goto LAB_001484e0;\n      }" ({ "{") (expression_statement "local_890 = "";" (assignment_expression "local_890 = """ (identifier "local_890") (= "=") (string_literal """" (" """) (" """))) (; ";")) (expression_statement "puVar23 = &DAT_00169c35;" (assignment_expression "puVar23 = &DAT_00169c35" (identifier "puVar23") (= "=") (pointer_expression "&DAT_00169c35" (& "&") (identifier "DAT_00169c35"))) (; ";")) (labeled_statement "LAB_00148fc0:\n        pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);" (statement_identifier "LAB_00148fc0") (: ":") (expression_statement "pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5);" (assignment_expression "pcVar25 = (char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5)" (identifier "dcgettext") (argument_list "(0,\n                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"\n                                    ,5)" (( "(") (number_literal "0") (, ",") (string_literal "" DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"" (" """) (string_content " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);" (call_expression "printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31)" (identifier "printf") (argument_list "(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31)" (( "(") (identifier "pcVar25") (, ",") (binary_expression "uVar26 & 0xffffffff" (identifier "uVar26") (& "&") (number_literal "0xffffffff")) (, ",") (binary_expression "uVar15 & 0xffffffff" (identifier "uVar15") (& "&") (number_literal "0xffffffff")) (, ",") (identifier "local_890") (, ",") (identifier "puVar23") (, ",") (identifier "pcVar31") () ")"))) (; ";")) (goto_statement "goto LAB_001484e0;" (goto "goto") (statement_identifier "LAB_001484e0") (; ";")) (} "}"))) (do_statement "do {\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      } while (local_890 < pcVar22);" (do "do") (compound_statement "{\n        if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }\n        uVar30 = uVar30 - 1;\n        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);\n        local_890 = local_890 + sVar17 + 1;\n      }" ({ "{") (if_statement "if ((*local_890 == '\0') || (uVar30 < 2)) {\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }" (if "if") (parenthesized_expression "((*local_890 == '\0') || (uVar30 < 2))" (( "(") (binary_expression "(*local_890 == '\0') || (uVar30 < 2)" (parenthesized_expression "(*local_890 == '\0')" (( "(") (binary_expression "*local_890 == '\0'" (pointer_expression "*local_890" (* "*") (identifier "local_890")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(uVar30 < 2)" (( "(") (binary_expression "uVar30 < 2" (identifier "uVar30") (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;\n          break;\n        }" ({ "{") (if_statement "if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))\n          goto LAB_00148fc0;" (if "if") (parenthesized_expression "((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))" (( "(") (binary_expression "(local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0')" (parenthesized_expression "(local_890 < pcVar22)" (( "(") (binary_expression "local_890 < pcVar22" (identifier "local_890") (< "<") (identifier "pcVar22")) () ")")) (&& "&&") (parenthesized_expression "(puVar23 = &DAT_0016ae1e, *local_890 != '\0')" (( "(") (comma_expression "puVar23 = &DAT_0016ae1e, *local_890 != '\0'" (assignment_expression "puVar23 = &DAT_0016ae1e" (identifier "puVar23") (= "=") (pointer_expression "&DAT_0016ae1e" (& "&") (identifier "DAT_0016ae1e"))) (, ",") (binary_expression "*local_890 != '\0'" (pointer_expression "*local_890" (* "*") (identifier "local_890")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (goto_statement "goto LAB_00148fc0;" (goto "goto") (statement_identifier "LAB_00148fc0") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "uVar30 = uVar30 - 1;" (assignment_expression "uVar30 = uVar30 - 1" (identifier "uVar30") (= "=") (binary_expression "uVar30 - 1" (identifier "uVar30") (- "-") (number_literal "1"))) (; ";")) (expression_statement "sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);" (assignment_expression "sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890)" (identifier "sVar17") (= "=") (call_expression "strnlen(local_890,(long)pcVar22 - (long)local_890)" (identifier "strnlen") (argument_list "(local_890,(long)pcVar22 - (long)local_890)" (( "(") (identifier "local_890") (, ",") (binary_expression "(long)pcVar22 - (long)local_890" (cast_expression "(long)pcVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar22")) (- "-") (cast_expression "(long)local_890" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_890"))) () ")")))) (; ";")) (expression_statement "local_890 = local_890 + sVar17 + 1;" (assignment_expression "local_890 = local_890 + sVar17 + 1" (identifier "local_890") (= "=") (binary_expression "local_890 + sVar17 + 1" (binary_expression "local_890 + sVar17" (identifier "local_890") (+ "+") (identifier "sVar17")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_890 < pcVar22)" (( "(") (binary_expression "local_890 < pcVar22" (identifier "local_890") (< "<") (identifier "pcVar22")) () ")")) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0014879b:\n  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);" (statement_identifier "LAB_0014879b") (: ":") (expression_statement "pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);" (assignment_expression "pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" (identifier "pcVar25") (= "=") (cast_expression "(char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" (identifier "dcgettext") (argument_list "(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal "" DW_MACRO_start_file - lineno: %d filenum: %d\n"" (" """) (string_content " DW_MACRO_start_file - lineno: %d filenum: %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);" (call_expression "printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff)" (identifier "printf") (argument_list "(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff)" (( "(") (identifier "pcVar25") (, ",") (binary_expression "uVar26 & 0xffffffff" (identifier "uVar26") (& "&") (number_literal "0xffffffff")) (, ",") (binary_expression "uVar15 & 0xffffffff" (identifier "uVar15") (& "&") (number_literal "0xffffffff")) () ")"))) (; ";")) (labeled_statement "LAB_001484e0:\n  if (pcVar21 <= pcVar13) goto LAB_0014818e;" (statement_identifier "LAB_001484e0") (: ":") (if_statement "if (pcVar21 <= pcVar13) goto LAB_0014818e;" (if "if") (parenthesized_expression "(pcVar21 <= pcVar13)" (( "(") (binary_expression "pcVar21 <= pcVar13" (identifier "pcVar21") (<= "<=") (identifier "pcVar13")) () ")")) (goto_statement "goto LAB_0014818e;" (goto "goto") (statement_identifier "LAB_0014818e") (; ";")))) (expression_statement "pcVar25 = pcVar13 + 1;" (assignment_expression "pcVar25 = pcVar13 + 1" (identifier "pcVar25") (= "=") (binary_expression "pcVar13 + 1" (identifier "pcVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcVar21 <= pcVar25) goto LAB_00148430;" (if "if") (parenthesized_expression "(pcVar21 <= pcVar25)" (( "(") (binary_expression "pcVar21 <= pcVar25" (identifier "pcVar21") (<= "<=") (identifier "pcVar25")) () ")")) (goto_statement "goto LAB_00148430;" (goto "goto") (statement_identifier "LAB_00148430") (; ";"))) (labeled_statement "LAB_001484f6:\n  uVar6 = (*DAT_00196f88)(pcVar13,1);" (statement_identifier "LAB_001484f6") (: ":") (expression_statement "uVar6 = (*DAT_00196f88)(pcVar13,1);" (assignment_expression "uVar6 = (*DAT_00196f88)(pcVar13,1)" (identifier "uVar6") (= "=") (call_expression "(*DAT_00196f88)(pcVar13,1)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(pcVar13,1)" (( "(") (identifier "pcVar13") (, ",") (number_literal "1") () ")")))) (; ";"))) (if_statement "if (uVar6 == 0) {\n    putchar(10);\n    goto LAB_0014807f;\n  }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    putchar(10);\n    goto LAB_0014807f;\n  }" ({ "{") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (goto_statement "goto LAB_0014807f;" (goto "goto") (statement_identifier "LAB_0014807f") (; ";")) (} "}"))) (goto_statement "goto LAB_00148456;" (goto "goto") (statement_identifier "LAB_00148456") (; ";")) (} "}")))

int function_1(type_1 *section,void *file)

{
  type_2 var_27;
  type_3 *var_1;
  int var_7;
  type_3 var_43;
  type_2 var_16;
  type_4 var_13;
  char *pcVar7;
  type_4 var_14;
  type_4 var_20;
  type_3 **var_18;
  type_5 var_24;
  type_6 var_28;
  type_3 *var_5;
  type_6 var_37;
  size_t var_32;
  type_5 var_46;
  long var_17;
  type_3 *var_29;
  type_1 *section_1;
  type_6 var_41;
  type_6 var_39;
  type_3 *var_4;
  type_3 *var_36;
  type_5 var_25;
  type_7 *puVar22;
  int var_42;
  int var_8;
  int var_38;
  char *pcVar26;
  type_2 *puVar27;
  type_2 var_15;
  type_3 *var_6;
  type_3 *var_11;
  type_8 bVar31;
  type_3 *var_47;
  type_4 var_34;
  type_3 **var_21;
  type_2 var_23;
  type_2 var_45;
  type_3 *extended_op_buf [256];
  
  bVar31 = 0;
  var_1 = section->start;
  var_4 = var_1 + section->size;
  var_2(str,file);
  var_2(line,file);
  var_3((type_1 *)section->name,(int)section + 0x18,section_1);
  var_5 = var_1;
  if (var_4 <= var_1) {
    return 1;
  }
LAB_0014807f:
  var_6 = var_5 + 2;
  var_7 = (int)var_4;
  if (var_6 < var_4) {
    var_8 = 2;
  }
  else {
    var_8 = var_7 - (int)var_5;
    if (7 < var_8 - 1U) goto LAB_0014809e;
  }
  var_13 = (*byte_get)(var_5,var_8);
  if (1 < (int)var_13 - 4U) {
LAB_0014809e:
    pcVar26 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";
    pcVar7 = section->name;
LAB_001480b3:
    pcVar26 = (char *)var_9(0,pcVar26,5);
    var_10(pcVar26,pcVar7);
    return 0;
  }
  var_11 = var_5 + 3;
  if (var_4 <= var_11) {
    if ((var_6 < var_4) && (var_8 = var_7 - (int)var_6, var_8 - 1U < 8)) goto LAB_001481bd;
    pcVar7 = (char *)var_9(0,"  Offset:                      0x%lx\n",5);
    var_12(pcVar7,(long)var_5 - (long)var_1);
    pcVar7 = (char *)var_9(0,"  Version:                     %d\n",5);
    var_12(pcVar7,var_13 & 0xffffffff);
    pcVar7 = (char *)var_9(0,"  Offset size:                 %d\n",5);
    var_12(pcVar7,4);
    goto LAB_00148184;
  }
  var_8 = 1;
LAB_001481bd:
  var_14 = (*byte_get)(var_6,var_8);
  var_15 = (-(type_2)((var_14 & 1) == 0) & 0xfffffffc) + 8;
  pcVar7 = (char *)var_9(0,"  Offset:                      0x%lx\n",5);
  var_12(pcVar7,(long)var_5 - (long)var_1);
  pcVar7 = (char *)var_9(0,"  Version:                     %d\n",5);
  var_12(pcVar7,var_13 & 0xffffffff);
  pcVar7 = (char *)var_9(0,"  Offset size:                 %d\n",5);
  var_12(pcVar7,(type_6)var_15);
  if ((var_14 & 2) == 0) {
    var_34 = 0;
  }
  else {
    var_16 = var_15;
    if ((var_11 + var_15 < var_4) ||
       ((var_34 = 0, var_11 < var_4 && (var_16 = var_7 - (int)var_11, var_16 - 1 < 8)))) {
      var_34 = (*byte_get)(var_11,var_16);
    }
    pcVar7 = (char *)var_9(0,"  Offset into .debug_line:     0x%lx\n",5);
    var_12(pcVar7,var_34);
    var_11 = var_11 + var_15;
  }
  if ((var_14 & 4) == 0) {
    var_21 = (type_3 **)0x0;
    var_6 = var_11;
  }
  else {
    var_6 = var_11 + 1;
    if (var_4 <= var_6) {
      if ((var_11 < var_4) && (var_8 = var_7 - (int)var_11, var_8 - 1U < 8)) {
        var_20 = (*byte_get)(var_11,var_8);
        var_16 = (type_2)var_20;
        var_18 = extended_op_buf;
        for (var_17 = 0x100; var_17 != 0; var_17 = var_17 + -1) {
          *var_18 = (type_3 *)0x0;
          var_18 = var_18 + (type_6)bVar31 * -2 + 1;
        }
        if (var_16 != 0) goto LAB_001482f8;
      }
LAB_00148184:
      var_19(10);
LAB_0014818e:
      pcVar7 = (char *)var_9(0,".debug_macro section not zero terminated\n",5);
      var_10(pcVar7);
      return 0;
    }
    var_21 = extended_op_buf;
    var_20 = (*byte_get)(var_11,1);
    var_16 = (type_2)var_20;
    var_18 = var_21;
    for (var_17 = 0x100; var_17 != 0; var_17 = var_17 + -1) {
      *var_18 = (type_3 *)0x0;
      var_18 = var_18 + (type_6)bVar31 * -2 + 1;
    }
    if (var_16 == 0) {
      var_19(10);
      goto LAB_0014840e;
    }
LAB_001482f8:
    var_21 = extended_op_buf;
    pcVar7 = (char *)var_9(0,"  Extension opcode arguments:\n",5);
    var_12(pcVar7);
    var_27 = 0;
    do {
      var_5 = var_6 + 1;
      if (var_5 < var_4) {
        var_8 = 1;
LAB_00148b15:
        var_20 = (*byte_get)(var_6,var_8);
        var_28 = var_20 & 0xffffffff;
        var_18 = var_21 + (var_20 & 0xffffffff);
      }
      else {
        if ((var_6 < var_4) && (var_8 = var_7 - (int)var_6, var_8 - 1U < 8)) goto LAB_00148b15;
        var_28 = 0;
        var_18 = var_21;
      }
      *var_18 = var_5;
      var_24 = var_22(var_5,&var_23,0,var_4);
      var_6 = var_5 + var_23;
      if (var_24 == 0) {
        pcVar7 = (char *)var_9(0,"    DW_MACRO_%02x has no arguments\n",5);
        var_12(pcVar7,var_28);
      }
      else {
        var_25 = 0;
        pcVar7 = (char *)var_9(0,"    DW_MACRO_%02x arguments: ",5);
        var_12(pcVar7,var_28);
        var_5 = var_6;
        do {
          var_6 = var_5 + 1;
          if (var_4 <= var_6) {
            if ((var_5 < var_4) && (var_8 = var_7 - (int)var_5, var_8 - 1U < 8))
            goto LAB_00148c15;
            if (var_25 == var_24 - 1) {
              pcVar7 = var_26(0);
              pcVar26 = "\n";
            }
            else {
              pcVar7 = var_26(0);
              pcVar26 = ", ";
            }
            var_28 = 0;
            var_12("%s%s",pcVar7,pcVar26);
LAB_00148bf3:
            pcVar7 = var_26(var_28);
            pcVar26 = "Invalid extension opcode form %s\n";
            goto LAB_001480b3;
          }
          var_8 = 1;
LAB_00148c15:
          var_20 = (*byte_get)(var_5,var_8);
          pcVar7 = ", ";
          var_28 = var_20 & 0xffffffff;
          if (var_24 - 1 == var_25) {
            pcVar7 = "\n";
          }
          pcVar26 = var_26(var_28);
          var_12("%s%s",pcVar26,pcVar7);
          if ((0x17 < (type_2)var_20) || ((1L << ((type_8)var_20 & 0x3f) & 0x80fff8U) == 0))
          goto LAB_00148bf3;
          var_25 = var_25 + 1;
          var_5 = var_6;
        } while (var_25 != var_24);
      }
      var_27 = var_27 + 1;
    } while (var_27 < var_16);
  }
  var_19(10);
  if (var_6 < var_4) {
LAB_0014840e:
    var_5 = var_6 + 1;
    if (var_5 < var_4) goto LAB_001484f6;
LAB_00148430:
    var_8 = var_7 - (int)var_6;
    if ((7 < var_8 - 1U) || (var_28 = (*byte_get)(var_6,var_8), (int)var_28 == 0)) {
      var_19(10);
      return 1;
    }
LAB_00148456:
    var_37 = var_28 & 0xffffffff;
    var_6 = var_5;
    switch(var_37) {
    default:
      if ((var_21 == (type_3 **)0x0) ||
         (var_11 = var_21[var_28 & 0xffffffff], var_11 == (type_3 *)0x0)) {
        pcVar7 = (char *)var_9(0," Unknown macro opcode %02x seen\n",5);
        var_10(pcVar7,var_37);
        return 0;
      }
      var_24 = var_22(var_11,&var_23,0,var_4);
      if (var_24 == 0) {
        pcVar7 = (char *)var_9(0," DW_MACRO_%02x\n",5);
        var_12(pcVar7,var_37);
      }
      else {
        var_11 = var_11 + var_23;
        pcVar7 = (char *)var_9(0," DW_MACRO_%02x -",5);
        var_12(pcVar7);
        var_6 = var_11;
        do {
          var_29 = var_6 + 1;
          if (var_29 < var_4) {
            var_8 = 1;
LAB_00148aea:
            var_20 = (*byte_get)(var_6,var_8);
            var_28 = (type_6)(int)var_20;
          }
          else {
            var_28 = 0;
            if ((var_6 < var_4) && (var_8 = var_7 - (int)var_6, var_8 - 1U < 8))
            goto LAB_00148aea;
          }
          var_5 = var_30
                              (0,var_28,0,var_5,var_4,0,0,(type_6)var_15,(int)var_13,(type_9 *)0x0
                               ,0,(type_1 *)0x0,(type_10 *)0x0,' ');
          if ((type_3 *)(var_24 - 1) != var_29 + ~(type_6)var_11) {
            var_19(0x2c);
          }
          var_6 = var_29;
        } while (var_29 != var_11 + var_24);
        var_19(10);
        var_6 = var_5;
      }
      break;
    case 1:
      var_24 = var_22(var_5,&var_23,0,var_4);
      var_5 = var_5 + var_23;
      var_32 = var_31((char *)var_5,(long)var_4 - (long)var_5);
      pcVar7 = " DW_MACRO_define - lineno : %d macro : %s\n";
      var_6 = var_5 + var_32 + 1;
      goto LAB_00148802;
    case 2:
      var_24 = var_22(var_5,&var_23,0,var_4);
      var_5 = var_5 + var_23;
      var_32 = var_31((char *)var_5,(long)var_4 - (long)var_5);
      pcVar7 = " DW_MACRO_undef - lineno : %d macro : %s\n";
      var_6 = var_5 + var_32 + 1;
LAB_00148802:
      pcVar7 = (char *)var_9(0,pcVar7,5);
      var_12(pcVar7,var_24 & 0xffffffff,var_5);
      break;
    case 3:
      puVar27 = &var_23;
      var_24 = var_22(var_5,&var_23,0,var_4);
      var_28 = (type_6)var_23;
      var_25 = var_22(var_5 + var_28,puVar27,0,var_4);
      var_6 = var_5 + var_28 + var_23;
      if ((var_14 & 2) == 0) {
        pcVar7 = (char *)var_9(0,
                                   "DW_MACRO_start_file used, but no .debug_line offset provided.\n"
                                   ,5);
        var_10(pcVar7);
      }
      else {
        var_28 = var_25 & 0xffffffff;
        if (((var_33 != 0) && (var_34 < var_35)) && (var_28 != 0)) {
          var_11 = (type_3 *)(var_33 + var_34);
          var_36 = (type_3 *)(var_33 + var_35);
          var_5 = var_11 + 4;
          var_8 = (int)var_36;
          var_29 = var_5;
          if (var_5 < var_36) {
            var_38 = 4;
LAB_00148b35:
            var_37 = (*byte_get)(var_11,var_38);
            var_39 = 4;
            var_38 = 4;
            if (var_37 == 0xffffffff) {
              var_29 = var_11 + 0xc;
              if (var_29 < var_36) {
                var_38 = 8;
              }
              else if ((var_36 <= var_5) || (var_38 = var_8 - (int)var_5, 7 < var_38 - 1U)) {
                var_41 = 0xc;
                var_38 = 8;
                goto LAB_00148941;
              }
              var_37 = (*byte_get)(var_5,var_38);
              var_39 = 0xc;
              var_38 = 8;
            }
            var_41 = var_39 + var_37;
            if (var_40(var_39,var_37)) goto LAB_0014879b;
          }
          else {
            if ((var_11 < var_36) && (var_38 = (int)var_35 - (int)var_34, var_38 - 1U < 8)
               ) goto LAB_00148b35;
            var_41 = 4;
            var_38 = 4;
          }
LAB_00148941:
          if (var_41 <= var_35) {
            if (var_29 + 2 < var_36) {
              var_42 = 2;
            }
            else if ((var_36 <= var_29) || (var_42 = var_8 - (int)var_29, 7 < var_42 - 1U))
            goto LAB_0014879b;
            var_20 = (*byte_get)(var_29,var_42);
            if ((int)var_20 - 2U < 3) {
              var_17 = (type_6)((int)var_20 == 4) + (type_6)(var_38 + 1) + 2;
              var_5 = var_29 + var_17 + 3;
              if (var_29 + var_17 + 4 < var_36) {
                var_8 = 1;
              }
              else if ((var_36 <= var_5) || (var_8 = var_8 - (int)var_5, 7 < var_8 - 1U))
              goto LAB_0014879b;
              var_20 = (*byte_get)(var_5,var_8);
              if ((int)var_20 != 0) {
                var_47 = var_29 + var_17 + 4 + ((int)var_20 - 1);
                for (var_5 = var_47; var_5 < var_36; var_5 = var_5 + var_32 + 1) {
                  if (*var_5 == '\0') {
                    var_11 = var_5 + 1;
                    if (var_11 < var_36) {
                      var_43 = var_5[1];
                      if ((var_28 == 1) || (var_43 == '\0')) goto LAB_00148eec;
                      goto LAB_00148d9d;
                    }
                    break;
                  }
                  var_32 = var_31((char *)var_5,(long)var_36 - (long)var_5);
                }
              }
            }
          }
        }
      }
      goto LAB_0014879b;
    case 4:
      pcVar7 = (char *)var_9(0," DW_MACRO_end_file\n",5);
      var_12(pcVar7);
      break;
    case 5:
      var_24 = var_22(var_5,&var_23,0,var_4);
      var_5 = var_5 + var_23;
      var_6 = var_5 + var_15;
      var_16 = var_15;
      if ((var_6 < var_4) ||
         ((var_20 = 0, var_5 < var_4 && (var_16 = var_7 - (int)var_5, var_16 - 1 < 8)))) {
        var_20 = (*byte_get)(var_5,var_16);
      }
      var_11 = var_44(var_20);
      pcVar7 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";
      goto LAB_0014857d;
    case 6:
      var_24 = var_22(var_5,&var_23,0,var_4);
      var_5 = var_5 + var_23;
      var_6 = var_5 + var_15;
      var_16 = var_15;
      if ((var_6 < var_4) ||
         ((var_20 = 0, var_5 < var_4 && (var_16 = var_7 - (int)var_5, var_16 - 1 < 8)))) {
        var_20 = (*byte_get)(var_5,var_16);
      }
      var_11 = var_44(var_20);
      pcVar7 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";
      goto LAB_0014857d;
    case 7:
      var_6 = var_5 + var_15;
      var_16 = var_15;
      if ((var_6 < var_4) ||
         ((var_20 = 0, var_5 < var_4 && (var_16 = var_7 - (int)var_5, var_16 - 1 < 8)))) {
        var_20 = (*byte_get)(var_5,var_16);
      }
      pcVar7 = " DW_MACRO_import - offset : 0x%lx\n";
      goto LAB_001484c9;
    case 8:
      var_24 = var_22(var_5,&var_23,0,var_4);
      var_5 = var_5 + var_23;
      var_6 = var_5 + var_15;
      var_16 = var_15;
      if ((var_6 < var_4) ||
         ((var_11 = (type_3 *)0x0, var_5 < var_4 && (var_16 = var_7 - (int)var_5, var_16 - 1 < 8))))
      {
        var_11 = (type_3 *)(*byte_get)(var_5,var_16);
      }
      pcVar7 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";
      goto LAB_0014857d;
    case 9:
      var_24 = var_22(var_5,&var_23,0,var_4);
      var_5 = var_5 + var_23;
      var_6 = var_5 + var_15;
      var_16 = var_15;
      if ((var_6 < var_4) ||
         ((var_11 = (type_3 *)0x0, var_5 < var_4 && (var_16 = var_7 - (int)var_5, var_16 - 1 < 8))))
      {
        var_11 = (type_3 *)(*byte_get)(var_5,var_16);
      }
      pcVar7 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";
LAB_0014857d:
      pcVar7 = (char *)var_9(0,pcVar7,5);
      var_12(pcVar7,var_24 & 0xffffffff,var_11);
      break;
    case 10:
      var_6 = var_5 + var_15;
      var_16 = var_15;
      if ((var_6 < var_4) ||
         ((var_20 = 0, var_5 < var_4 && (var_16 = var_7 - (int)var_5, var_16 - 1 < 8)))) {
        var_20 = (*byte_get)(var_5,var_16);
      }
      pcVar7 = " DW_MACRO_import_sup - offset : 0x%lx\n";
LAB_001484c9:
      pcVar7 = (char *)var_9(0,pcVar7,5);
      var_12(pcVar7,var_20);
    }
    goto LAB_001484e0;
  }
  goto LAB_0014818e;
  while ((var_43 = *var_11, var_43 != '\0' && (var_28 != 1))) {
LAB_00148d9d:
    var_28 = var_28 - 1;
    var_32 = var_31((char *)var_11,(long)var_36 - (long)var_11);
    var_11 = var_11 + var_32 + 1;
    puVar27 = &var_45;
    var_22(var_11,&var_45,0,var_36);
    var_11 = var_11 + var_45;
    var_22(var_11,puVar27,0,var_36);
    var_37 = (type_6)var_45;
    var_22(var_11 + var_37,puVar27,0,var_36);
    var_11 = var_11 + var_37 + var_45;
    if (var_36 <= var_11) goto LAB_0014879b;
  }
LAB_00148eec:
  if (var_43 != '\0') {
    var_32 = var_31((char *)var_11,(long)var_36 - (long)var_11);
    if (var_11 + var_32 + 1 < var_36) {
      var_46 = var_22(var_11 + var_32 + 1,&var_45,0,var_36);
      if (var_46 == 0) {
        var_47 = "";
        puVar22 = &DAT_00169c35;
LAB_00148fc0:
        pcVar7 = (char *)var_9(0,
                                   " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"
                                   ,5);
        var_12(pcVar7,var_24 & 0xffffffff,var_25 & 0xffffffff,var_47,puVar22);
        goto LAB_001484e0;
      }
      do {
        if ((*var_47 == '\0') || (var_46 < 2)) {
          if ((var_47 < var_36) && (puVar22 = &DAT_0016ae1e, *var_47 != '\0'))
          goto LAB_00148fc0;
          break;
        }
        var_46 = var_46 - 1;
        var_32 = var_31((char *)var_47,(long)var_36 - (long)var_47);
        var_47 = var_47 + var_32 + 1;
      } while (var_47 < var_36);
    }
  }
LAB_0014879b:
  pcVar7 = (char *)var_9(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);
  var_12(pcVar7,var_24 & 0xffffffff,var_25 & 0xffffffff);
LAB_001484e0:
  if (var_4 <= var_6) goto LAB_0014818e;
  var_5 = var_6 + 1;
  if (var_4 <= var_5) goto LAB_00148430;
LAB_001484f6:
  var_28 = (*byte_get)(var_6,1);
  if ((int)var_28 == 0) {
    var_19(10);
    goto LAB_0014807f;
  }
  goto LAB_00148456;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) 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: (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: (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) 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: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) 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: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (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: (primitive_type) declarator: (abstract_pointer_declarator 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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (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)) value: (parenthesized_expression (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: (identifier))) consequence: (compound_statement (return_statement (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))) (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))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) 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: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (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 (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (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 (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (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) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (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 (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (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 (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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 (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) 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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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 (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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 (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (escape_sequence))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (escape_sequence)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (return_statement (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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 (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (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: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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 (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))) right: (number_literal)))) (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: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (number_literal) (identifier) (identifier) (number_literal) (number_literal) (identifier) (identifier) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (binary_expression left: (identifier) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (labeled_statement label: (statement_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 (number_literal) (identifier) (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) right: (binary_expression left: (number_literal) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))) (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: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) right: (binary_expression left: (number_literal) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) right: (binary_expression left: (number_literal) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (for_statement initializer: (assignment_expression left: (identifier) right: (identifier)) condition: (binary_expression left: (identifier) right: (identifier)) update: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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 (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))))))))))))))))))) (goto_statement label: (statement_identifier))) (case_statement value: (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) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (labeled_statement label: (statement_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 (number_literal) (identifier) (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (labeled_statement label: (statement_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 (number_literal) (identifier) (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (binary_expression left: (binary_expression left: (identifier) right: (char_literal (escape_sequence))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) body: (compound_statement (labeled_statement label: (statement_identifier) (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) (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)) (pointer_expression argument: (identifier)) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_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 (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (identifier)))) (goto_statement label: (statement_identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence))))))) consequence: (goto_statement label: (statement_identifier))) (break_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) (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))))) (labeled_statement label: (statement_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 (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))))

undefined8 MASKED(long param_1,undefined8 param_2)

{
  uint uVar1;
  char *pcVar2;
  int iVar3;
  char cVar4;
  uint uVar5;
  uint uVar6;
  int iVar7;
  uint uVar8;
  int iVar9;
  undefined8 uVar10;
  undefined8 uVar11;
  ulong uVar12;
  char *pcVar13;
  ulong *puVar14;
  ulong uVar15;
  ulong uVar16;
  size_t sVar17;
  char *pcVar18;
  ulong uVar19;
  ulong uVar20;
  char *pcVar21;
  char *pcVar22;
  undefined1 *puVar23;
  long lVar24;
  char *pcVar25;
  ulong uVar26;
  long lVar27;
  long lVar28;
  uint uVar29;
  ulong uVar30;
  char *pcVar31;
  byte bVar32;
  char *local_890;
  ulong local_878;
  ulong *local_868;
  uint local_840;
  uint local_83c;
  ulong local_838 [257];
  
  bVar32 = 0;
  pcVar2 = *(char **)(param_1 + 0x20);
  pcVar21 = pcVar2 + *(long *)(param_1 + 0x30);
  FUN_0013e500(10);
  FUN_0013e500(4,param_2);
  FUN_0013ed70(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);
  pcVar25 = pcVar2;
  if (pcVar21 <= pcVar2) {
    return 1;
  }
LAB_0014807f:
  pcVar13 = pcVar25 + 2;
  if (pcVar13 < pcVar21) {
    lVar24 = 2;
  }
  else {
    lVar24 = (long)pcVar21 - (long)pcVar25;
    if (7 < (int)lVar24 - 1U) goto LAB_0014809e;
  }
  uVar5 = (*DAT_00196f88)(pcVar25,lVar24);
  if (1 < uVar5 - 4) {
LAB_0014809e:
    pcVar25 = "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n";
    uVar11 = *(undefined8 *)(param_1 + 0x10);
LAB_001480b3:
    uVar10 = dcgettext(0,pcVar25,5);
    error(uVar10,uVar11);
    return 0;
  }
  pcVar31 = pcVar25 + 3;
  if (pcVar21 <= pcVar31) {
    if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))
    goto LAB_001481bd;
    pcVar21 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);
    printf(pcVar21,(long)pcVar25 - (long)pcVar2);
    pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);
    printf(pcVar25,(ulong)uVar5);
    pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);
    printf(pcVar25,4);
    goto LAB_00148184;
  }
  lVar24 = 1;
LAB_001481bd:
  uVar12 = (*DAT_00196f88)(pcVar13,lVar24);
  uVar29 = (-(uint)((uVar12 & 1) == 0) & 0xfffffffc) + 8;
  pcVar13 = (char *)dcgettext(0,"  Offset:                      0x%lx\n",5);
  printf(pcVar13,(long)pcVar25 - (long)pcVar2);
  pcVar25 = (char *)dcgettext(0,"  Version:                     %d\n",5);
  printf(pcVar25,(ulong)uVar5);
  pcVar25 = (char *)dcgettext(0,"  Offset size:                 %d\n",5);
  printf(pcVar25,(ulong)uVar29);
  iVar3 = (int)pcVar21;
  if ((uVar12 & 2) == 0) {
    local_878 = 0;
  }
  else {
    uVar6 = uVar29;
    if ((pcVar31 + uVar29 < pcVar21) ||
       ((local_878 = 0, pcVar31 < pcVar21 && (uVar6 = iVar3 - (int)pcVar31, uVar6 - 1 < 8)))) {
      local_878 = (*DAT_00196f88)(pcVar31,uVar6);
    }
    pcVar25 = (char *)dcgettext(0,"  Offset into .debug_line:     0x%lx\n",5);
    printf(pcVar25,local_878);
    pcVar31 = pcVar31 + uVar29;
  }
  if ((uVar12 & 4) == 0) {
    local_868 = (ulong *)0x0;
    pcVar13 = pcVar31;
  }
  else {
    pcVar13 = pcVar31 + 1;
    if (pcVar21 <= pcVar13) {
      if ((pcVar31 < pcVar21) && ((iVar3 - (int)pcVar31) - 1U < 8)) {
        uVar6 = (*DAT_00196f88)(pcVar31);
        puVar14 = local_838;
        for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {
          *puVar14 = 0;
          puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;
        }
        if (uVar6 != 0) goto LAB_001482f8;
      }
LAB_00148184:
      putchar(10);
LAB_0014818e:
      uVar11 = dcgettext(0,".debug_macro section not zero terminated\n",5);
      error(uVar11);
      return 0;
    }
    local_868 = local_838;
    uVar6 = (*DAT_00196f88)(pcVar31,1);
    puVar14 = local_868;
    for (lVar24 = 0x100; lVar24 != 0; lVar24 = lVar24 + -1) {
      *puVar14 = 0;
      puVar14 = puVar14 + (ulong)bVar32 * -2 + 1;
    }
    if (uVar6 == 0) {
      putchar(10);
      goto LAB_0014840e;
    }
LAB_001482f8:
    local_868 = local_838;
    pcVar25 = (char *)dcgettext(0,"  Extension opcode arguments:\n",5);
    printf(pcVar25);
    uVar1 = 0;
    do {
      pcVar25 = pcVar13 + 1;
      if (pcVar25 < pcVar21) {
        lVar24 = 1;
LAB_00148b15:
        uVar8 = (*DAT_00196f88)(pcVar13,lVar24);
        uVar26 = (ulong)uVar8;
        puVar14 = local_868 + uVar8;
      }
      else {
        if ((pcVar13 < pcVar21) && (lVar24 = (long)pcVar21 - (long)pcVar13, (int)lVar24 - 1U < 8))
        goto LAB_00148b15;
        uVar26 = 0;
        puVar14 = local_868;
      }
      *puVar14 = (ulong)pcVar25;
      lVar24 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar13 = pcVar25 + local_840;
      if (lVar24 == 0) {
        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x has no arguments\n",5);
        printf(pcVar25,uVar26);
      }
      else {
        lVar27 = 0;
        pcVar25 = (char *)dcgettext(0,"    DW_MACRO_%02x arguments: ",5);
        printf(pcVar25,uVar26);
        pcVar25 = pcVar13;
        do {
          pcVar13 = pcVar25 + 1;
          if (pcVar21 <= pcVar13) {
            if ((pcVar25 < pcVar21) &&
               (lVar28 = (long)pcVar21 - (long)pcVar25, (int)lVar28 - 1U < 8)) goto LAB_00148c15;
            if (lVar27 == lVar24 + -1) {
              uVar11 = FUN_0013eaf0(0);
              pcVar25 = "\n";
            }
            else {
              uVar11 = FUN_0013eaf0(0);
              pcVar25 = ", ";
            }
            uVar8 = 0;
            printf("%s%s",uVar11,pcVar25);
LAB_00148bf3:
            uVar11 = FUN_0013eaf0(uVar8);
            pcVar25 = "Invalid extension opcode form %s\n";
            goto LAB_001480b3;
          }
          lVar28 = 1;
LAB_00148c15:
          uVar8 = (*DAT_00196f88)(pcVar25,lVar28);
          pcVar25 = ", ";
          if (lVar24 + -1 == lVar27) {
            pcVar25 = "\n";
          }
          uVar11 = FUN_0013eaf0(uVar8);
          printf("%s%s",uVar11,pcVar25);
          if ((0x17 < uVar8) || ((1L << ((byte)uVar8 & 0x3f) & 0x80fff8U) == 0)) goto LAB_00148bf3;
          lVar27 = lVar27 + 1;
          pcVar25 = pcVar13;
        } while (lVar27 != lVar24);
      }
      uVar1 = uVar1 + 1;
    } while (uVar1 < uVar6);
  }
  putchar(10);
  if (pcVar13 < pcVar21) {
LAB_0014840e:
    pcVar25 = pcVar13 + 1;
    if (pcVar25 < pcVar21) goto LAB_001484f6;
LAB_00148430:
    if ((7 < (iVar3 - (int)pcVar13) - 1U) || (uVar6 = (*DAT_00196f88)(pcVar13), uVar6 == 0)) {
      putchar(10);
      return 1;
    }
LAB_00148456:
    uVar26 = (ulong)uVar6;
    pcVar13 = pcVar25;
    switch(uVar26) {
    default:
      if ((local_868 == (ulong *)0x0) || (uVar15 = local_868[uVar6], uVar15 == 0)) {
        uVar11 = dcgettext(0," Unknown macro opcode %02x seen\n",5);
        error(uVar11,uVar26);
        return 0;
      }
      lVar24 = FUN_0013fb20(uVar15,&local_840,0,pcVar21);
      if (lVar24 == 0) {
        pcVar25 = (char *)dcgettext(0," DW_MACRO_%02x\n",5);
        printf(pcVar25,uVar26);
      }
      else {
        pcVar31 = (char *)(uVar15 + local_840);
        pcVar13 = (char *)dcgettext(0," DW_MACRO_%02x -",5);
        printf(pcVar13,uVar26);
        pcVar13 = pcVar31;
        do {
          pcVar18 = pcVar13 + 1;
          if (pcVar18 < pcVar21) {
            uVar26 = 1;
LAB_00148aea:
            iVar7 = (*DAT_00196f88)(pcVar13,uVar26);
            lVar27 = (long)iVar7;
          }
          else {
            lVar27 = 0;
            if ((pcVar13 < pcVar21) && ((int)((long)pcVar21 - (long)pcVar13) - 1U < 8)) {
              uVar26 = (long)pcVar21 - (long)pcVar13 & 0xffffffff;
              goto LAB_00148aea;
            }
          }
          pcVar25 = (char *)FUN_00142840(0,lVar27,0,pcVar25,pcVar21,0,0,uVar29,uVar5,0,0,0,0,0x20);
          if ((char *)(lVar24 + -1) != pcVar18 + ~(ulong)pcVar31) {
            putchar(0x2c);
          }
          pcVar13 = pcVar18;
        } while (pcVar18 != pcVar31 + lVar24);
        putchar(10);
        pcVar13 = pcVar25;
      }
      break;
    case 1:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar25 = pcVar25 + local_840;
      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);
      pcVar31 = " DW_MACRO_define - lineno : %d macro : %s\n";
      pcVar13 = pcVar25 + sVar17 + 1;
      goto LAB_00148802;
    case 2:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar25 = pcVar25 + local_840;
      sVar17 = strnlen(pcVar25,(long)pcVar21 - (long)pcVar25);
      pcVar31 = " DW_MACRO_undef - lineno : %d macro : %s\n";
      pcVar13 = pcVar25 + sVar17 + 1;
LAB_00148802:
      pcVar31 = (char *)dcgettext(0,pcVar31,5);
      printf(pcVar31,uVar26 & 0xffffffff,pcVar25);
      break;
    case 3:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      uVar30 = (ulong)local_840;
      uVar15 = FUN_0013fb20(pcVar25 + uVar30);
      pcVar13 = pcVar25 + uVar30 + local_840;
      if ((uVar12 & 2) == 0) {
        uVar11 = dcgettext(0,"DW_MACRO_start_file used, but no .debug_line offset provided.\n",5);
        error(uVar11);
      }
      else {
        uVar30 = uVar15 & 0xffffffff;
        if (((DAT_001912a0 != 0) && (local_878 < DAT_001912b0)) && (uVar30 != 0)) {
          pcVar31 = (char *)(DAT_001912a0 + local_878);
          pcVar22 = (char *)(DAT_001912a0 + DAT_001912b0);
          pcVar25 = pcVar31 + 4;
          pcVar18 = pcVar25;
          if (pcVar25 < pcVar22) {
            lVar24 = 4;
LAB_00148b35:
            uVar16 = (*DAT_00196f88)(pcVar31,lVar24);
            uVar20 = 4;
            iVar7 = 4;
            if (uVar16 == 0xffffffff) {
              pcVar18 = pcVar31 + 0xc;
              if (pcVar18 < pcVar22) {
                lVar24 = 8;
              }
              else if ((pcVar22 <= pcVar25) ||
                      (lVar24 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar24 - 1U)) {
                uVar19 = 0xc;
                iVar7 = 8;
                goto LAB_00148941;
              }
              uVar16 = (*DAT_00196f88)(pcVar25,lVar24);
              uVar20 = 0xc;
              iVar7 = 8;
            }
            uVar19 = uVar20 + uVar16;
            if (CARRY8(uVar20,uVar16)) goto LAB_0014879b;
          }
          else {
            if ((pcVar31 < pcVar22) && (lVar24 = DAT_001912b0 - local_878, (int)lVar24 - 1U < 8))
            goto LAB_00148b35;
            uVar19 = 4;
            iVar7 = 4;
          }
LAB_00148941:
          if (uVar19 <= DAT_001912b0) {
            if (pcVar18 + 2 < pcVar22) {
              lVar24 = 2;
            }
            else if ((pcVar22 <= pcVar18) ||
                    (lVar24 = (long)pcVar22 - (long)pcVar18, 7 < (int)lVar24 - 1U))
            goto LAB_0014879b;
            iVar9 = (*DAT_00196f88)(pcVar18,lVar24);
            if (iVar9 - 2U < 3) {
              lVar24 = (ulong)(iVar9 == 4) + (ulong)(iVar7 + 1) + 2;
              pcVar25 = pcVar18 + lVar24 + 3;
              if (pcVar18 + lVar24 + 4 < pcVar22) {
                lVar27 = 1;
              }
              else if ((pcVar22 <= pcVar25) ||
                      (lVar27 = (long)pcVar22 - (long)pcVar25, 7 < (int)lVar27 - 1U))
              goto LAB_0014879b;
              iVar7 = (*DAT_00196f88)(pcVar25,lVar27);
              if (iVar7 != 0) {
                local_890 = pcVar18 + lVar24 + 4 + (iVar7 - 1);
                for (pcVar25 = local_890; pcVar25 < pcVar22; pcVar25 = pcVar25 + sVar17 + 1) {
                  if (*pcVar25 == '\0') {
                    pcVar31 = pcVar25 + 1;
                    if (pcVar31 < pcVar22) {
                      cVar4 = pcVar25[1];
                      if ((uVar30 == 1) || (cVar4 == '\0')) goto LAB_00148eec;
                      goto LAB_00148d9d;
                    }
                    break;
                  }
                  sVar17 = strnlen(pcVar25,(long)pcVar22 - (long)pcVar25);
                }
              }
            }
          }
        }
      }
      goto LAB_0014879b;
    case 4:
      pcVar25 = (char *)dcgettext(0," DW_MACRO_end_file\n",5);
      printf(pcVar25);
      break;
    case 5:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar25 = pcVar25 + local_840;
      pcVar13 = pcVar25 + uVar29;
      uVar6 = uVar29;
      if ((pcVar13 < pcVar21) ||
         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {
        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);
      }
      uVar11 = FUN_0013e880(uVar11);
      pcVar25 = " DW_MACRO_define_strp - lineno : %d macro : %s\n";
      goto LAB_0014857d;
    case 6:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar25 = pcVar25 + local_840;
      pcVar13 = pcVar25 + uVar29;
      uVar6 = uVar29;
      if ((pcVar13 < pcVar21) ||
         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {
        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);
      }
      uVar11 = FUN_0013e880(uVar11);
      pcVar25 = " DW_MACRO_undef_strp - lineno : %d macro : %s\n";
      goto LAB_0014857d;
    case 7:
      pcVar13 = pcVar25 + uVar29;
      uVar6 = uVar29;
      if ((pcVar13 < pcVar21) ||
         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {
        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);
      }
      pcVar25 = " DW_MACRO_import - offset : 0x%lx\n";
      goto LAB_001484c9;
    case 8:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar25 = pcVar25 + local_840;
      pcVar13 = pcVar25 + uVar29;
      uVar6 = uVar29;
      if ((pcVar13 < pcVar21) ||
         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {
        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);
      }
      pcVar25 = " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n";
      goto LAB_0014857d;
    case 9:
      uVar26 = FUN_0013fb20(pcVar25,&local_840,0,pcVar21);
      pcVar25 = pcVar25 + local_840;
      pcVar13 = pcVar25 + uVar29;
      uVar6 = uVar29;
      if ((pcVar13 < pcVar21) ||
         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {
        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);
      }
      pcVar25 = " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n";
LAB_0014857d:
      pcVar25 = (char *)dcgettext(0,pcVar25,5);
      printf(pcVar25,uVar26 & 0xffffffff,uVar11);
      break;
    case 10:
      pcVar13 = pcVar25 + uVar29;
      uVar6 = uVar29;
      if ((pcVar13 < pcVar21) ||
         ((uVar11 = 0, pcVar25 < pcVar21 && (uVar6 = iVar3 - (int)pcVar25, uVar6 - 1 < 8)))) {
        uVar11 = (*DAT_00196f88)(pcVar25,uVar6);
      }
      pcVar25 = " DW_MACRO_import_sup - offset : 0x%lx\n";
LAB_001484c9:
      pcVar25 = (char *)dcgettext(0,pcVar25,5);
      printf(pcVar25,uVar11);
    }
    goto LAB_001484e0;
  }
  goto LAB_0014818e;
  while ((cVar4 = *pcVar31, cVar4 != '\0' && (uVar30 != 1))) {
LAB_00148d9d:
    uVar30 = uVar30 - 1;
    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);
    pcVar31 = pcVar31 + sVar17 + 1;
    FUN_0013fb20(pcVar31,&local_83c,0,pcVar22);
    pcVar31 = pcVar31 + local_83c;
    FUN_0013fb20(pcVar31);
    uVar16 = (ulong)local_83c;
    FUN_0013fb20(pcVar31 + uVar16);
    pcVar31 = pcVar31 + uVar16 + local_83c;
    if (pcVar22 <= pcVar31) goto LAB_0014879b;
  }
LAB_00148eec:
  if (cVar4 != '\0') {
    sVar17 = strnlen(pcVar31,(long)pcVar22 - (long)pcVar31);
    if (pcVar31 + sVar17 + 1 < pcVar22) {
      uVar30 = FUN_0013fb20(pcVar31 + sVar17 + 1,&local_83c,0,pcVar22);
      if (uVar30 == 0) {
        local_890 = "";
        puVar23 = &DAT_00169c35;
LAB_00148fc0:
        pcVar25 = (char *)dcgettext(0,
                                    " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"
                                    ,5);
        printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff,local_890,puVar23,pcVar31);
        goto LAB_001484e0;
      }
      do {
        if ((*local_890 == '\0') || (uVar30 < 2)) {
          if ((local_890 < pcVar22) && (puVar23 = &DAT_0016ae1e, *local_890 != '\0'))
          goto LAB_00148fc0;
          break;
        }
        uVar30 = uVar30 - 1;
        sVar17 = strnlen(local_890,(long)pcVar22 - (long)local_890);
        local_890 = local_890 + sVar17 + 1;
      } while (local_890 < pcVar22);
    }
  }
LAB_0014879b:
  pcVar25 = (char *)dcgettext(0," DW_MACRO_start_file - lineno: %d filenum: %d\n",5);
  printf(pcVar25,uVar26 & 0xffffffff,uVar15 & 0xffffffff);
LAB_001484e0:
  if (pcVar21 <= pcVar13) goto LAB_0014818e;
  pcVar25 = pcVar13 + 1;
  if (pcVar21 <= pcVar25) goto LAB_00148430;
LAB_001484f6:
  uVar6 = (*DAT_00196f88)(pcVar13,1);
  if (uVar6 == 0) {
    putchar(10);
    goto LAB_0014807f;
  }
  goto LAB_00148456;
}

