
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Restarted to delay deadcode elimination for space: stack */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void dwarf2_finish(void)

{
  char **ppcVar1;
  line_entry **pplVar2;
  line_subseg *plVar3;
  line_entry *plVar4;
  segT seg;
  fragS *frag;
  size_t nchars;
  undefined *puVar5;
  segT paVar6;
  int iVar7;
  asection *sec;
  char *pcVar8;
  char *pcVar9;
  symbolS *psVar10;
  symbolS *psVar11;
  size_t sVar12;
  char *pcVar13;
  segT paVar14;
  fragS *pfVar15;
  uint uVar16;
  segT paVar17;
  segT secptr;
  uint uVar18;
  uint uVar19;
  symbolS *psVar20;
  symbolS *psVar21;
  int iVar22;
  expressionS *peVar23;
  symbolS **ppsVar24;
  int iVar25;
  byte *pbVar26;
  uint uVar27;
  undefined4 *puVar28;
  uint uVar29;
  byte *pbVar30;
  line_seg *plVar31;
  undefined4 *puVar32;
  bool bVar33;
  bool bVar34;
  bool bVar35;
  byte bVar36;
  valueT vVar37;
  undefined8 uVar38;
  offsetT oVar39;
  undefined4 uVar40;
  expressionS *peVar41;
  undefined4 uVar42;
  uint local_10c;
  int local_108;
  uint local_100;
  symbolS *local_f8;
  segT local_ec;
  uint local_e8;
  uint local_e4;
  int local_e0;
  uint local_d4;
  fragS *local_d0;
  expressionS *local_cc;
  line_entry *local_c4;
  expressionS exp_1;
  expressionS exp;
  
  bVar36 = 0;
  paVar6 = (segT)bfd_get_section_by_name(stdoutput,".debug_info");
  bVar34 = true;
  if (paVar6 != (segT)0x0) {
    iVar7 = seg_not_empty_p(paVar6);
    bVar34 = iVar7 == 0;
  }
  paVar6 = (segT)bfd_get_section_by_name(stdoutput,".debug_line");
  if ((paVar6 != (segT)0x0) && (iVar7 = seg_not_empty_p(paVar6), iVar7 != 0)) {
    if (all_segs == (line_seg *)0x0) {
      return;
    }
                    /* WARNING: Subroutine does not return */
    as_fatal("duplicate .debug_line sections");
  }
  if ((all_segs == (line_seg *)0x0) && (bVar34)) {
    return;
  }
  sizeof_address = x86_dwarf2_addr_size();
  sec = subseg_new(".debug_line",0);
  bfd_set_section_flags(stdoutput,sec,0x2008);
  for (plVar31 = all_segs; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {
    pplVar2 = plVar31->head->ptail;
    for (plVar3 = plVar31->head->next; plVar3 != (line_subseg *)0x0; plVar3 = plVar3->next) {
      *pplVar2 = plVar3->head;
      pplVar2 = plVar3->ptail;
    }
  }
  pcVar8 = (char *)out_header(sec,&exp_1);
  pcVar9 = frag_more(2);
  number_to_chars_littleendian(pcVar9,2,2);
  psVar10 = symbol_temp_make();
  psVar11 = symbol_temp_make();
  exp_1._16_1_ = 0x14;
  uVar29 = 1;
  exp_1.X_add_number._0_4_ = 0;
  exp_1.X_add_number._4_4_ = 0;
  psVar21 = exp_1.X_add_symbol;
  exp_1.X_add_symbol = psVar11;
  exp_1.X_op_symbol = psVar10;
  emit_expr(&exp_1,(uint)pcVar8);
  symbol_set_value_now(psVar10);
  frag_append_1_char(1);
  frag_append_1_char(1);
  frag_append_1_char(-5);
  frag_append_1_char(0xe);
  frag_append_1_char(0xd);
  frag_append_1_char(0);
  frag_append_1_char(1);
  frag_append_1_char(1);
  frag_append_1_char(1);
  frag_append_1_char(1);
  frag_append_1_char(0);
  frag_append_1_char(0);
  frag_append_1_char(0);
  frag_append_1_char(1);
  frag_append_1_char(0);
  frag_append_1_char(0);
  frag_append_1_char(1);
  if (1 < dirs_in_use) {
    do {
      ppcVar1 = dirs + uVar29;
      uVar29 = uVar29 + 1;
      pcVar8 = remap_debug_filename(*ppcVar1);
      sVar12 = strlen(pcVar8);
      pcVar9 = frag_more(sVar12 + 1);
      memcpy(pcVar9,pcVar8,sVar12 + 1);
    } while (uVar29 < dirs_in_use);
  }
  pcVar9 = (char *)0x1;
  frag_append_1_char(0);
  if (1 < files_in_use) {
    do {
      while (pcVar8 = files[(int)pcVar9].filename, pcVar8 != (char *)0x0) {
        sVar12 = strlen(pcVar8);
        pcVar13 = frag_more(sVar12 + 1);
        memcpy(pcVar13,pcVar8,sVar12 + 1);
        pcVar9 = pcVar9 + 1;
        out_uleb128(CONCAT44(pcVar8,pcVar13));
        out_uleb128(CONCAT44(pcVar8,pcVar13));
        out_uleb128(CONCAT44(pcVar8,pcVar13));
        if (files_in_use <= pcVar9) goto LAB_0001c228;
      }
      pcVar13 = (char *)dcgettext(0,"unassigned file number %ld",5);
      pcVar8 = pcVar9;
      as_bad(pcVar13);
      files[(int)pcVar9].filename = "";
      pcVar9 = pcVar9 + 1;
    } while (pcVar9 < files_in_use);
  }
LAB_0001c228:
  frag_append_1_char(0);
  symbol_set_value_now(psVar11);
  puVar5 = PTR__bfd_std_section_0007ffb0;
  for (plVar31 = all_segs; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {
    paVar6 = plVar31->seg;
    if ((((paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180))) ||
        (paVar6 == reg_section)) || (paVar6 == expr_section)) {
      pcVar8 = paVar6->name;
      as_warn("dwarf line number information for %s ignored");
    }
    else {
      local_c4 = plVar31->head->head;
      bVar33 = false;
      bVar35 = flag_dwarf_sections == 0;
      if (!bVar35) {
        iVar7 = 6;
        pbVar26 = (byte *)paVar6->name;
        pbVar30 = &DAT_0005b3a1;
        do {
          if (iVar7 == 0) break;
          iVar7 = iVar7 + -1;
          bVar33 = *pbVar26 < *pbVar30;
          bVar35 = *pbVar26 == *pbVar30;
          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;
          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;
        } while (bVar35);
        pcVar8 = ".debug_line";
        if ((!bVar33 && !bVar35) != bVar33) {
          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);
        }
        paVar14 = subseg_get(pcVar8,0);
        pcVar8 = (char *)0x0;
        subseg_set(paVar14,0);
      }
      local_f8 = (symbolS *)0x0;
      local_10c = 0;
      local_108 = 0;
      local_d0 = (fragS *)0x0;
      local_100 = 1;
      local_d4 = 1;
      local_e8 = 1;
      uVar29 = 0;
      uVar27 = 0;
      do {
        uVar18 = (local_c4->loc).filenum;
        if (uVar18 != local_e8) {
          uVar40 = 4;
          frag_append_1_char(4);
          out_uleb128(CONCAT44(pcVar8,uVar40));
        }
        uVar19 = (local_c4->loc).column;
        if (uVar19 != uVar29) {
          uVar40 = 5;
          frag_append_1_char(5);
          out_uleb128(CONCAT44(pcVar8,uVar40));
        }
        if ((local_c4->loc).discriminator != 0) {
          frag_append_1_char(0);
          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);
          pcVar8 = (char *)0x0;
          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);
          pcVar9 = frag_more(uVar16);
          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);
          uVar40 = 4;
          frag_append_1_char(4);
          out_uleb128(CONCAT44(pcVar8,uVar40));
        }
        uVar16 = (local_c4->loc).isa;
        if (uVar16 != uVar27) {
          uVar40 = 0xc;
          frag_append_1_char(0xc);
          out_uleb128(CONCAT44(pcVar8,uVar40));
        }
        uVar29 = (local_c4->loc).flags;
        uVar27 = uVar29;
        if (((local_100 ^ uVar29) & 1) != 0) {
          frag_append_1_char(6);
          uVar27 = (local_c4->loc).flags;
          local_100 = uVar29;
        }
        if ((uVar27 & 2) != 0) {
          frag_append_1_char(7);
          uVar27 = (local_c4->loc).flags;
        }
        if ((uVar27 & 4) != 0) {
          frag_append_1_char(10);
          uVar27 = (local_c4->loc).flags;
        }
        if ((uVar27 & 8) != 0) {
          frag_append_1_char(0xb);
        }
        psVar10 = local_c4->label;
        iVar7 = (local_c4->loc).line - local_d4;
        pfVar15 = symbol_get_frag(psVar10);
        vVar37 = S_GET_VALUE(psVar10);
        local_e4 = (uint)vVar37;
        local_e0 = (int)(vVar37 >> 0x20);
        if (local_d0 == (fragS *)0x0) {
LAB_0001d140:
          uVar40 = 0;
          frag_append_1_char(0);
          out_uleb128(CONCAT44(pcVar8,uVar40));
          frag_append_1_char(2);
          exp._16_1_ = 3;
          exp.X_add_number._0_4_ = 0;
          exp.X_add_number._4_4_ = 0;
          peVar41 = &exp;
          pcVar8 = (char *)sizeof_address;
          exp.X_add_symbol = psVar10;
          emit_expr(&exp,sizeof_address);
          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));
        }
        else {
          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {
            if (pfVar15 == local_d0) {
              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;
            }
            else if ((local_e0 != 0 || local_e4 != 0) ||
                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),
                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),
                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,
                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=
                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;
            goto LAB_0001d140;
          }
          if (pfVar15 == local_d0) {
LAB_0001c468:
            if (linkrelax != 0) goto LAB_0001c478;
            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));
          }
          else {
LAB_0001c478:
            relax_inc_line_addr(iVar7,psVar10,local_f8);
          }
        }
        plVar4 = local_c4->next;
        local_d4 = (local_c4->loc).line;
        free(local_c4);
        local_10c = local_e4;
        local_108 = local_e0;
        uVar29 = uVar19;
        uVar27 = uVar16;
        local_f8 = psVar10;
        local_e8 = uVar18;
        local_d0 = pfVar15;
        local_c4 = plVar4;
      } while (plVar4 != (line_entry *)0x0);
                    /* WARNING: Load size is inaccurate */
      iVar7 = *paVar6->userdata;
      do {
        iVar22 = iVar7;
        iVar7 = *(int *)(iVar22 + 8);
      } while (iVar7 != 0);
      frag = *(fragS **)(iVar22 + 4);
      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);
      if ((pfVar15 == frag) && (linkrelax == 0)) {
        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21));
      }
      else {
        pcVar8 = (char *)vVar37;
        psVar11 = symbol_temp_new(paVar6,vVar37,frag);
        relax_inc_line_addr(0x7fffffff,psVar11,psVar10);
      }
    }
  }
  if (flag_dwarf_sections != 0) {
    paVar6 = subseg_get(".debug_line_end",0);
    subseg_set(paVar6,0);
  }
  symbol_set_value_now(psVar21);
  if (!bVar34) {
    return;
  }
  if (all_segs == (line_seg *)0x0) {
                    /* WARNING: Subroutine does not return */
    as_abort("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish");
  }
  paVar6 = subseg_new(".debug_info",0);
  paVar14 = subseg_new(".debug_abbrev",0);
  paVar17 = subseg_new(".debug_aranges",0);
  secptr = subseg_new(".debug_str",0);
  bfd_set_section_flags(stdoutput,paVar6,0x2008);
  bfd_set_section_flags(stdoutput,paVar14,0x2008);
  bfd_set_section_flags(stdoutput,paVar17,0x2008);
  bfd_set_section_flags(stdoutput,secptr,0x1802008);
  uVar27 = sizeof_address;
  secptr->entsize = 1;
  uVar27 = uVar27 * 2;
  uVar29 = 0;
  if (uVar27 != 0) {
    for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {
    }
  }
  if (uVar27 == 0) {
    uVar29 = 0xffffffff;
  }
  record_alignment(paVar17,uVar29);
  local_ec = (segT)all_segs->next;
  if (local_ec == (segT)0x0) goto LAB_0001c984;
  local_ec = subseg_new(".debug_ranges",0);
  bfd_set_section_flags(stdoutput,local_ec,0x2008);
  uVar27 = sizeof_address * 2;
  uVar29 = 0;
  if (uVar27 != 0) {
    for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {
    }
  }
  if (uVar27 == 0) {
    uVar29 = 0xffffffff;
  }
  record_alignment(local_ec,uVar29);
  uVar29 = sizeof_address;
  subseg_set(local_ec,0);
  if (uVar29 == 0) {
    if (all_segs == (line_seg *)0x0) goto LAB_0001c984;
LAB_0001c840:
    plVar31 = all_segs;
    do {
                    /* WARNING: Load size is inaccurate */
      psVar10 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);
      seg = plVar31->seg;
      plVar31->text_start = psVar10;
                    /* WARNING: Load size is inaccurate */
      iVar7 = *seg->userdata;
      do {
        iVar22 = iVar7;
        iVar7 = *(int *)(iVar22 + 8);
      } while (iVar7 != 0);
      pfVar15 = *(fragS **)(iVar22 + 4);
      vVar37 = get_frag_fix(pfVar15,(segT)&seg->userdata);
      psVar11 = symbol_temp_new(seg,vVar37,pfVar15);
      plVar31->text_end = psVar11;
      exp._16_1_ = 3;
      exp.X_add_number._0_4_ = 0;
      exp.X_add_number._4_4_ = 0;
      exp.X_add_symbol = psVar10;
      emit_expr(&exp,uVar29);
      exp._16_1_ = 3;
      exp.X_add_number._0_4_ = 0;
      exp.X_add_number._4_4_ = 0;
      exp.X_add_symbol = psVar11;
      emit_expr(&exp,uVar29);
      plVar31 = plVar31->next;
    } while (plVar31 != (line_seg *)0x0);
    if (uVar29 == 0) goto LAB_0001c984;
  }
  else {
    uVar27 = 0;
    do {
      uVar27 = uVar27 + 1;
      frag_append_1_char(0xff);
    } while (uVar29 != uVar27);
    uVar27 = 0;
    do {
      uVar27 = uVar27 + 1;
      frag_append_1_char(0);
    } while (uVar29 != uVar27);
    if (all_segs != (line_seg *)0x0) goto LAB_0001c840;
  }
  uVar27 = 0;
  do {
    uVar27 = uVar27 + 1;
    frag_append_1_char(0);
  } while (uVar29 != uVar27);
  uVar27 = 0;
  do {
    uVar27 = uVar27 + 1;
    frag_append_1_char(0);
  } while (uVar29 != uVar27);
LAB_0001c984:
  uVar29 = sizeof_address;
  local_cc = &exp;
  uVar18 = out_header(paVar17,&exp_1);
  iVar7 = exp_1.X_add_number._4_4_;
  uVar27 = (uint)exp_1.X_add_number;
  psVar10 = exp_1.X_add_symbol;
  pcVar8 = frag_more(2);
  number_to_chars_littleendian(pcVar8,2,2);
  exp.X_add_symbol = section_symbol(paVar6);
  exp._16_1_ = 3;
  exp.X_add_number._0_4_ = 0;
  exp.X_add_number._4_4_ = 0;
  emit_expr(local_cc,uVar18);
  uVar16 = 2 - uVar27;
  uVar19 = uVar18 + uVar16;
  iVar22 = ((int)uVar18 >> 0x1f) + (-(uint)(2 < uVar27) - iVar7) + (uint)CARRY4(uVar18,uVar16);
  frag_append_1_char(uVar29);
  frag_append_1_char(0);
  uVar27 = uVar19 + 3;
  iVar7 = iVar22 + (uint)(0xfffffffc < uVar19);
  nchars = uVar29 * 2;
  uVar38 = __moddi3(uVar19 + 2,iVar22 + (uint)(0xfffffffd < uVar19),nchars,0);
  plVar31 = all_segs;
  if (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0)) {
    do {
      frag_append_1_char(0);
      bVar34 = 0xfffffffe < uVar27;
      uVar38 = __moddi3(uVar27,iVar7,nchars,0);
      uVar27 = uVar27 + 1;
      iVar7 = iVar7 + (uint)bVar34;
      plVar31 = all_segs;
    } while (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0));
  }
  for (; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {
                    /* WARNING: Load size is inaccurate */
    psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);
    paVar17 = plVar31->seg;
    plVar31->text_start = psVar11;
                    /* WARNING: Load size is inaccurate */
    iVar7 = *paVar17->userdata;
    do {
      iVar22 = iVar7;
      iVar7 = *(int *)(iVar22 + 8);
    } while (iVar7 != 0);
    pfVar15 = *(fragS **)(iVar22 + 4);
    vVar37 = get_frag_fix(pfVar15,(segT)&paVar17->userdata);
    psVar20 = symbol_temp_new(paVar17,vVar37,pfVar15);
    plVar31->text_end = psVar20;
    exp_1._16_1_ = 3;
    exp_1.X_add_number._0_4_ = 0;
    exp_1.X_add_number._4_4_ = 0;
    exp_1.X_add_symbol = psVar11;
    emit_expr(&exp_1,uVar29);
    exp_1._16_1_ = 0x14;
    exp_1.X_add_number._0_4_ = 0;
    exp_1.X_add_number._4_4_ = 0;
    exp_1.X_add_symbol = psVar20;
    exp_1.X_op_symbol = psVar11;
    emit_expr(&exp_1,uVar29);
  }
  pcVar8 = frag_more(nchars);
  number_to_chars_littleendian(pcVar8,0,uVar29);
  number_to_chars_littleendian(pcVar8 + uVar29,0,uVar29);
  symbol_set_value_now(psVar10);
  uVar42 = 0;
  paVar17 = paVar14;
  subseg_set(paVar14,0);
  out_uleb128(CONCAT44(uVar42,paVar17));
  out_uleb128(CONCAT44(uVar42,paVar17));
  uVar40 = 0;
  frag_append_1_char(0);
  out_uleb128(CONCAT44(uVar42,uVar40));
  out_uleb128(CONCAT44(uVar42,uVar40));
  if (all_segs->next == (line_seg *)0x0) {
    out_uleb128(CONCAT44(sec,psVar21));
    out_uleb128(CONCAT44(sec,psVar21));
    out_uleb128(CONCAT44(sec,psVar21));
    out_uleb128(CONCAT44(sec,psVar21));
  }
  else {
    out_uleb128(CONCAT44(sec,psVar21));
    out_uleb128(CONCAT44(sec,psVar21));
  }
  out_uleb128(CONCAT44(sec,psVar21));
  out_uleb128(CONCAT44(sec,psVar21));
  out_uleb128(CONCAT44(sec,psVar21));
  out_uleb128(CONCAT44(sec,psVar21));
  out_uleb128(CONCAT44(sec,psVar21));
  out_uleb128(CONCAT44(sec,psVar21));
  out_uleb128(CONCAT44(sec,psVar21));
  out_uleb128(CONCAT44(sec,psVar21));
  out_uleb128(CONCAT44(sec,psVar21));
  out_uleb128(CONCAT44(sec,psVar21));
  frag_append_1_char(0);
  subseg_set(secptr,0);
  psVar21 = symbol_temp_new_now();
  if (files_in_use != 0) {
    if (files[1].dir != 0) {
      pcVar8 = remap_debug_filename(dirs[files[1].dir]);
      sVar12 = strlen(pcVar8);
      pcVar9 = frag_more(sVar12 + 1);
      memcpy(pcVar9,pcVar8,sVar12);
      pcVar9[sVar12] = '/';
    }
    sVar12 = strlen(files[1].filename);
    pcVar8 = frag_more(sVar12 + 1);
    memcpy(pcVar8,files[1].filename,sVar12 + 1);
    psVar10 = symbol_temp_new_now();
    pcVar8 = (char *)getpwd();
    pcVar8 = remap_debug_filename(pcVar8);
    sVar12 = strlen(pcVar8);
    pcVar9 = frag_more(sVar12 + 1);
    memcpy(pcVar9,pcVar8,sVar12 + 1);
    psVar11 = symbol_temp_new_now();
    sprintf((char *)local_cc,"GNU AS %s","2.31.1");
    peVar41 = local_cc;
    do {
      peVar23 = peVar41;
      uVar27 = (uint)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &
               ~(uint)peVar23->X_add_symbol;
      uVar29 = uVar27 & 0x80808080;
      peVar41 = (expressionS *)&peVar23->X_op_symbol;
    } while (uVar29 == 0);
    bVar34 = (uVar27 & 0x8080) == 0;
    if (bVar34) {
      uVar29 = uVar29 >> 0x10;
    }
    ppsVar24 = &peVar23->X_op_symbol;
    if (bVar34) {
      ppsVar24 = (symbolS **)((int)&peVar23->X_op_symbol + 2);
    }
    uVar29 = (int)ppsVar24 + (-(int)local_cc - (uint)CARRY1((byte)uVar29,(byte)uVar29)) + -2;
    pcVar8 = frag_more(uVar29);
    if (uVar29 < 4) {
      if (uVar29 != 0) {
        *pcVar8 = (char)exp.X_add_symbol;
        if ((uVar29 & 2) != 0) {
          *(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);
        }
      }
    }
    else {
      *(symbolS **)pcVar8 = exp.X_add_symbol;
      *(undefined4 *)(pcVar8 + (uVar29 - 4)) = *(undefined4 *)((int)&exp_1 + uVar29 + 0x10);
      iVar7 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);
      puVar28 = (undefined4 *)((int)local_cc - iVar7);
      puVar32 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);
      for (uVar29 = iVar7 + uVar29 >> 2; uVar29 != 0; uVar29 = uVar29 - 1) {
        *puVar32 = *puVar28;
        puVar28 = puVar28 + (uint)bVar36 * -2 + 1;
        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;
      }
    }
    uVar18 = out_header(paVar6,&exp_1);
    psVar20 = exp_1.X_add_symbol;
    pcVar8 = frag_more(2);
    number_to_chars_littleendian(pcVar8,2,2);
    exp.X_add_symbol = section_symbol(paVar14);
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    uVar27 = uVar18;
    emit_expr(local_cc,uVar18);
    uVar29 = sizeof_address;
    frag_append_1_char(sizeof_address);
    out_uleb128(CONCAT44(uVar27,uVar29));
    exp.X_add_symbol = section_symbol(sec);
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    emit_expr(local_cc,4);
    if (all_segs->next == (line_seg *)0x0) {
      exp_1.X_add_symbol = all_segs->text_start;
      exp_1._16_1_ = 3;
      exp_1.X_add_number._0_4_ = 0;
      exp_1.X_add_number._4_4_ = 0;
      emit_expr(&exp_1,sizeof_address);
      exp_1._16_1_ = 3;
      exp_1.X_add_symbol = all_segs->text_end;
      exp_1.X_add_number._0_4_ = 0;
      exp_1.X_add_number._4_4_ = 0;
      emit_expr(&exp_1,sizeof_address);
    }
    else {
      exp.X_add_symbol = section_symbol(local_ec);
      exp._16_1_ = 3;
      exp.X_add_number._0_4_ = 0;
      exp.X_add_number._4_4_ = 0;
      emit_expr(local_cc,uVar18);
    }
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    exp.X_add_symbol = psVar21;
    emit_expr(local_cc,uVar18);
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    exp.X_add_symbol = psVar10;
    emit_expr(local_cc,uVar18);
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    exp.X_add_symbol = psVar11;
    emit_expr(local_cc,uVar18);
    pcVar8 = frag_more(2);
    number_to_chars_littleendian(pcVar8,0x8001,2);
    symbol_set_value_now(psVar20);
    return;
  }
                    /* WARNING: Subroutine does not return */
  as_abort("../../gas/dwarf2dbg.c",0x830,"out_debug_str");
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Restarted to delay deadcode elimination for space: stack */

void FUN_0001be60(void)

{
  int *piVar1;
  int iVar2;
  longlong lVar3;
  undefined *puVar4;
  undefined1 auVar5 [4];
  int iVar6;
  undefined4 uVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  int iVar10;
  int iVar11;
  char *pcVar12;
  size_t sVar13;
  void *pvVar14;
  int iVar15;
  undefined4 uVar16;
  uint uVar17;
  uint uVar18;
  uint uVar19;
  uint *puVar20;
  undefined4 extraout_ECX;
  int iVar21;
  int iVar22;
  uint *puVar23;
  byte *pbVar24;
  uint uVar25;
  undefined4 *puVar26;
  uint uVar27;
  byte *pbVar28;
  int *piVar29;
  int iVar30;
  undefined4 *puVar31;
  bool bVar32;
  bool bVar33;
  bool bVar34;
  byte bVar35;
  longlong lVar36;
  undefined8 uVar37;
  uint local_10c;
  int local_108;
  uint local_100;
  int local_ec;
  int local_e8;
  int local_d0;
  uint *local_cc;
  int *local_c4;
  int local_b0;
  int local_ac;
  uint local_a8;
  undefined1 local_a4 [4];
  undefined1 local_a0 [4];
  uint local_9c [4];
  undefined1 local_8c;
  undefined4 uStack_14;
  
  bVar35 = 0;
  uStack_14 = 0x1be6b;
  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");
  bVar33 = true;
  if (iVar6 != 0) {
    iVar6 = FUN_00036d50(iVar6);
    bVar33 = iVar6 == 0;
  }
  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");
  if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {
    if (DAT_00088978 == (int *)0x0) {
      return;
    }
                    /* WARNING: Subroutine does not return */
    FUN_0002be00("duplicate .debug_line sections");
  }
  if ((DAT_00088978 == (int *)0x0) && (bVar33)) {
    return;
  }
  DAT_00088950 = FUN_00054100();
  uVar7 = FUN_00036b20(".debug_line",0);
  bfd_set_section_flags(DAT_00089944,uVar7,0x2008);
  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {
    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];
    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;
        puVar31 = (undefined4 *)*puVar31) {
      *puVar26 = puVar31[2];
      puVar26 = (undefined4 *)puVar31[3];
    }
  }
  uVar8 = FUN_0001a5e0();
  iVar6 = local_b0;
  uVar9 = FUN_00024b20(2);
  FUN_000416b0(uVar9,2,0,2);
  iVar10 = FUN_00038f20();
  iVar11 = FUN_00038f20();
  local_a0[0] = 0x14;
  uVar27 = 1;
  local_a8 = 0;
  local_a4 = (undefined1  [4])0x0;
  local_b0 = iVar11;
  local_ac = iVar10;
  FUN_00031660(&local_b0,uVar8);
  FUN_0003b7e0(iVar10);
  FUN_00024e20(1);
  FUN_00024e20(1);
  FUN_00024e20(0xfffffffb);
  FUN_00024e20(0xe);
  FUN_00024e20(0xd);
  FUN_00024e20(0);
  FUN_00024e20(1);
  FUN_00024e20(1);
  FUN_00024e20(1);
  FUN_00024e20(1);
  FUN_00024e20(0);
  FUN_00024e20(0);
  FUN_00024e20(0);
  FUN_00024e20(1);
  FUN_00024e20(0);
  FUN_00024e20(0);
  FUN_00024e20(1);
  if (1 < DAT_00088960) {
    do {
      iVar10 = uVar27 * 4;
      uVar27 = uVar27 + 1;
      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));
      sVar13 = strlen(pcVar12);
      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);
      memcpy(pvVar14,pcVar12,sVar13 + 1);
    } while (uVar27 < DAT_00088960);
  }
  uVar27 = 1;
  FUN_00024e20(0);
  if (1 < DAT_0008896c) {
    do {
      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {
        sVar13 = strlen(pcVar12);
        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);
        memcpy(pvVar14,pcVar12,sVar13 + 1);
        uVar27 = uVar27 + 1;
        FUN_0001a680();
        FUN_0001a680();
        FUN_0001a680();
        if (DAT_0008896c <= uVar27) goto LAB_0001c228;
      }
      uVar8 = dcgettext(0,"unassigned file number %ld",5);
      FUN_0002bd60(uVar8,uVar27);
      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;
      uVar27 = uVar27 + 1;
    } while (uVar27 < DAT_0008896c);
  }
LAB_0001c228:
  FUN_00024e20(0);
  FUN_0003b7e0(iVar11);
  puVar4 = PTR__bfd_std_section_0007ffb0;
  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {
    puVar26 = (undefined4 *)piVar29[1];
    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))
        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {
      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);
    }
    else {
      local_c4 = *(int **)(piVar29[2] + 8);
      bVar32 = false;
      bVar34 = DAT_000897f0 == 0;
      if (!bVar34) {
        iVar10 = 6;
        pbVar24 = (byte *)*puVar26;
        pbVar28 = (byte *)".text";
        do {
          if (iVar10 == 0) break;
          iVar10 = iVar10 + -1;
          bVar32 = *pbVar24 < *pbVar28;
          bVar34 = *pbVar24 == *pbVar28;
          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;
          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;
        } while (bVar34);
        pcVar12 = ".debug_line";
        if ((!bVar32 && !bVar34) != bVar32) {
          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);
        }
        uVar8 = FUN_00036a60(pcVar12,0);
        FUN_00036b80(uVar8,0);
      }
      local_d0 = 0;
      local_100 = 1;
      local_e8 = 1;
      iVar10 = 0;
      iVar11 = 0;
      lVar3 = 0;
      do {
        local_108 = (int)((ulonglong)lVar3 >> 0x20);
        local_10c = (uint)lVar3;
        iVar2 = local_c4[2];
        if (iVar2 != local_e8) {
          FUN_00024e20(4);
          FUN_0001a680();
        }
        iVar30 = local_c4[4];
        if (iVar30 != iVar10) {
          FUN_00024e20(5);
          FUN_0001a680();
        }
        if (local_c4[7] != 0) {
          FUN_00024e20(0);
          iVar10 = FUN_00031e30(local_c4[7],0,0);
          uVar8 = FUN_00031e30(iVar10 + 1,0,1);
          uVar8 = FUN_00024b20(uVar8);
          FUN_00031e70(uVar8,iVar10 + 1,0,1);
          FUN_00024e20(4);
          FUN_0001a680();
        }
        iVar21 = local_c4[5];
        if (iVar21 != iVar11) {
          FUN_00024e20(0xc);
          FUN_0001a680();
        }
        uVar27 = local_c4[6];
        uVar17 = uVar27;
        if (((local_100 ^ uVar27) & 1) != 0) {
          FUN_00024e20(6);
          uVar17 = local_c4[6];
          local_100 = uVar27;
        }
        if ((uVar17 & 2) != 0) {
          FUN_00024e20(7);
          uVar17 = local_c4[6];
        }
        if ((uVar17 & 4) != 0) {
          FUN_00024e20(10);
          uVar17 = local_c4[6];
        }
        if ((uVar17 & 8) != 0) {
          FUN_00024e20(0xb);
        }
        uVar27 = local_c4[1];
        iVar15 = FUN_0003b830(uVar27);
        lVar36 = FUN_0003a3c0(uVar27);
        if (local_d0 == 0) {
LAB_0001d140:
          FUN_00024e20(0);
          FUN_0001a680();
          FUN_00024e20(2);
          local_8c = 3;
          local_9c[2] = 0;
          local_9c[3] = 0;
          local_9c[0] = uVar27;
          FUN_00031660(local_9c,DAT_00088950);
          FUN_0001ade0();
        }
        else {
          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {
            if (iVar15 == local_d0) {
              if (lVar36 != lVar3) goto LAB_0001c468;
            }
            else if ((lVar36 != 0) ||
                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),
                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,
                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=
                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;
            goto LAB_0001d140;
          }
          if (iVar15 == local_d0) {
LAB_0001c468:
            if (DAT_00089740 != 0) goto LAB_0001c478;
            FUN_0001ade0();
          }
          else {
LAB_0001c478:
            FUN_0001ae30();
          }
        }
        piVar1 = (int *)*local_c4;
        free(local_c4);
        iVar10 = iVar30;
        iVar11 = iVar21;
        local_e8 = iVar2;
        local_d0 = iVar15;
        local_c4 = piVar1;
        lVar3 = lVar36;
      } while (piVar1 != (int *)0x0);
      iVar10 = *(int *)puVar26[0x20];
      do {
        iVar11 = iVar10;
        iVar10 = *(int *)(iVar11 + 8);
      } while (iVar10 != 0);
      iVar10 = *(int *)(iVar11 + 4);
      uVar37 = FUN_0001a6c0();
      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {
        FUN_0001ade0();
      }
      else {
        FUN_00038f40(puVar26,uVar37,iVar10);
        FUN_0001ae30();
      }
    }
  }
  if (DAT_000897f0 != 0) {
    uVar8 = FUN_00036a60(".debug_line_end",0);
    FUN_00036b80(uVar8,0);
  }
  FUN_0003b7e0(iVar6);
  if (!bVar33) {
    return;
  }
  if (DAT_00088978 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);
  }
  uVar8 = FUN_00036b20(".debug_info",0);
  uVar9 = FUN_00036b20(".debug_abbrev",0);
  uVar16 = FUN_00036b20(".debug_aranges",0);
  iVar10 = FUN_00036b20(".debug_str",0);
  bfd_set_section_flags(DAT_00089944,uVar8,0x2008);
  bfd_set_section_flags(DAT_00089944,uVar9,0x2008);
  bfd_set_section_flags(DAT_00089944,uVar16,0x2008);
  bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);
  iVar6 = DAT_00088950;
  *(undefined4 *)(iVar10 + 0x90) = 1;
  uVar27 = iVar6 * 2;
  iVar6 = 0;
  if (uVar27 != 0) {
    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {
    }
  }
  if (uVar27 == 0) {
    iVar6 = -1;
  }
  FUN_0003f680(uVar16,iVar6);
  local_ec = *DAT_00088978;
  if (local_ec == 0) goto LAB_0001c984;
  local_ec = FUN_00036b20(".debug_ranges",0);
  bfd_set_section_flags(DAT_00089944,local_ec,0x2008);
  uVar27 = DAT_00088950 * 2;
  iVar6 = 0;
  if (uVar27 != 0) {
    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {
    }
  }
  if (uVar27 == 0) {
    iVar6 = -1;
  }
  FUN_0003f680(local_ec,iVar6);
  iVar6 = DAT_00088950;
  FUN_00036b80(local_ec,0);
  if (iVar6 == 0) {
    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;
LAB_0001c840:
    piVar29 = DAT_00088978;
    do {
      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));
      iVar11 = piVar29[1];
      piVar29[3] = uVar27;
      iVar2 = **(int **)(iVar11 + 0x80);
      do {
        iVar30 = iVar2;
        iVar2 = *(int *)(iVar30 + 8);
      } while (iVar2 != 0);
      uVar16 = *(undefined4 *)(iVar30 + 4);
      uVar37 = FUN_0001a6c0();
      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);
      piVar29[4] = uVar17;
      local_8c = 3;
      local_9c[2] = 0;
      local_9c[3] = 0;
      local_9c[0] = uVar27;
      FUN_00031660(local_9c,iVar6);
      local_8c = 3;
      local_9c[2] = 0;
      local_9c[3] = 0;
      local_9c[0] = uVar17;
      FUN_00031660(local_9c,iVar6);
      piVar29 = (int *)*piVar29;
    } while (piVar29 != (int *)0x0);
    if (iVar6 == 0) goto LAB_0001c984;
  }
  else {
    iVar11 = 0;
    do {
      iVar11 = iVar11 + 1;
      FUN_00024e20(0xff);
    } while (iVar6 != iVar11);
    iVar11 = 0;
    do {
      iVar11 = iVar11 + 1;
      FUN_00024e20(0);
    } while (iVar6 != iVar11);
    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;
  }
  iVar11 = 0;
  do {
    iVar11 = iVar11 + 1;
    FUN_00024e20(0);
  } while (iVar6 != iVar11);
  iVar11 = 0;
  do {
    iVar11 = iVar11 + 1;
    FUN_00024e20(0);
  } while (iVar6 != iVar11);
LAB_0001c984:
  iVar11 = DAT_00088950;
  local_cc = local_9c;
  uVar17 = FUN_0001a5e0();
  auVar5 = local_a4;
  uVar27 = local_a8;
  iVar2 = local_b0;
  uVar16 = FUN_00024b20(2);
  FUN_000416b0(uVar16,2,0,2);
  local_9c[0] = FUN_00036bd0(uVar8);
  local_8c = 3;
  local_9c[2] = 0;
  local_9c[3] = 0;
  FUN_00031660(local_cc,uVar17);
  uVar25 = 2 - uVar27;
  uVar18 = uVar17 + uVar25;
  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)
  ;
  FUN_00024e20(iVar11);
  FUN_00024e20(0);
  uVar27 = uVar18 + 3;
  iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);
  iVar6 = iVar11 * 2;
  uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);
  piVar29 = DAT_00088978;
  if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {
    do {
      FUN_00024e20(0);
      bVar33 = 0xfffffffe < uVar27;
      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);
      uVar27 = uVar27 + 1;
      iVar30 = iVar30 + (uint)bVar33;
      piVar29 = DAT_00088978;
    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));
  }
  for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {
    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));
    iVar30 = piVar29[1];
    piVar29[3] = iVar15;
    iVar21 = **(int **)(iVar30 + 0x80);
    do {
      iVar22 = iVar21;
      iVar21 = *(int *)(iVar22 + 8);
    } while (iVar21 != 0);
    uVar8 = *(undefined4 *)(iVar22 + 4);
    uVar37 = FUN_0001a6c0();
    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);
    piVar29[4] = iVar30;
    local_a0[0] = 3;
    local_a8 = 0;
    local_a4 = (undefined1  [4])0x0;
    local_b0 = iVar15;
    FUN_00031660(&local_b0,iVar11);
    local_a0[0] = 0x14;
    local_a8 = 0;
    local_a4 = (undefined1  [4])0x0;
    local_b0 = iVar30;
    local_ac = iVar15;
    FUN_00031660(&local_b0,iVar11);
  }
  iVar6 = FUN_00024b20(iVar6);
  FUN_000416b0(iVar6,0,0,iVar11);
  FUN_000416b0(iVar6 + iVar11,0,0,iVar11);
  FUN_0003b7e0(iVar2);
  FUN_00036b80(uVar9,0);
  FUN_0001a680();
  FUN_0001a680();
  FUN_00024e20(0);
  FUN_0001a680();
  FUN_0001a680();
  if (*DAT_00088978 == 0) {
    FUN_0001a680();
    FUN_0001a680();
    FUN_0001a680();
    FUN_0001a680();
  }
  else {
    FUN_0001a680();
    FUN_0001a680();
  }
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_00024e20(0);
  FUN_00036b80(iVar10,0);
  uVar27 = FUN_00038f70();
  if (DAT_0008896c != 0) {
    if (*(int *)(DAT_00088970 + 0xc) != 0) {
      pcVar12 = (char *)FUN_00035620(*(undefined4 *)
                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));
      sVar13 = strlen(pcVar12);
      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);
      memcpy(pvVar14,pcVar12,sVar13);
      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;
    }
    sVar13 = strlen(*(char **)(DAT_00088970 + 8));
    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);
    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);
    uVar17 = FUN_00038f70();
    uVar8 = getpwd();
    pcVar12 = (char *)FUN_00035620(uVar8);
    sVar13 = strlen(pcVar12);
    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);
    memcpy(pvVar14,pcVar12,sVar13 + 1);
    uVar18 = FUN_00038f70();
    sprintf((char *)local_cc,"GNU AS %s","2.31.1");
    puVar20 = local_cc;
    do {
      puVar23 = puVar20;
      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;
      uVar25 = uVar19 & 0x80808080;
      puVar20 = puVar23 + 1;
    } while (uVar25 == 0);
    bVar33 = (uVar19 & 0x8080) == 0;
    if (bVar33) {
      uVar25 = uVar25 >> 0x10;
    }
    if (bVar33) {
      puVar20 = (uint *)((int)puVar23 + 6);
    }
    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;
    puVar20 = (uint *)FUN_00024b20(uVar25);
    if (uVar25 < 4) {
      if (uVar25 != 0) {
        *(undefined1 *)puVar20 = (undefined1)local_9c[0];
        if ((uVar25 & 2) != 0) {
          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);
        }
      }
    }
    else {
      *puVar20 = local_9c[0];
      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);
      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);
      puVar26 = (undefined4 *)((int)local_cc - iVar6);
      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);
      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {
        *puVar31 = *puVar26;
        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;
        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;
      }
    }
    uVar8 = FUN_0001a5e0();
    iVar6 = local_b0;
    uVar16 = FUN_00024b20(2);
    FUN_000416b0(uVar16,2,0,2);
    local_9c[0] = FUN_00036bd0(uVar9);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    FUN_00031660(local_cc,uVar8);
    FUN_00024e20(DAT_00088950);
    FUN_0001a680();
    local_9c[0] = FUN_00036bd0(uVar7);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    FUN_00031660(local_cc,4);
    if (*DAT_00088978 == 0) {
      local_b0 = DAT_00088978[3];
      local_a0[0] = 3;
      local_a8 = 0;
      local_a4 = (undefined1  [4])0x0;
      FUN_00031660(&local_b0,DAT_00088950);
      local_a0[0] = 3;
      local_b0 = DAT_00088978[4];
      local_a8 = 0;
      local_a4 = (undefined1  [4])0x0;
      FUN_00031660(&local_b0,DAT_00088950);
    }
    else {
      local_9c[0] = FUN_00036bd0(local_ec);
      local_8c = 3;
      local_9c[2] = 0;
      local_9c[3] = 0;
      FUN_00031660(local_cc,uVar8);
    }
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    local_9c[0] = uVar27;
    FUN_00031660(local_cc,uVar8);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    local_9c[0] = uVar17;
    FUN_00031660(local_cc,uVar8);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    local_9c[0] = uVar18;
    FUN_00031660(local_cc,uVar8);
    uVar7 = FUN_00024b20(2);
    FUN_000416b0(uVar7,0x8001,0,2);
    FUN_0003b7e0(iVar6);
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016000
ADD EBX,0x64195
SUB ESP,0x134
LEA EAX,[EBX + 0xfffdd291]
PUSH EAX
MOV dword ptr [EBP + 0xfffffed0],EAX
LEA EAX,[EBX + 0x9944]
PUSH dword ptr [EAX]
MOV dword ptr [EBP + 0xfffffee8],EAX
CALL 0x00014330
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffffee0],0x1
TEST EAX,EAX
JZ 0x0001bec2
SUB ESP,0xc
PUSH EAX
CALL 0x00036d50
ADD ESP,0x10
TEST EAX,EAX
SETZ AL
MOVZX EAX,AL
MOV dword ptr [EBP + 0xfffffee0],EAX
SUB ESP,0x8
LEA EAX,[EBX + 0xfffdd29d]
PUSH EAX
MOV dword ptr [EBP + 0xfffffed8],EAX
MOV EAX,dword ptr [EBP + 0xfffffee8]
PUSH dword ptr [EAX]
CALL 0x00014330
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001befa
SUB ESP,0xc
PUSH EAX
CALL 0x00036d50
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001c603
MOV EAX,dword ptr [EBX + 0x8978]
TEST EAX,EAX
JZ 0x0001c5ed
CALL 0x00054100
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [EBP + 0xfffffed8]
MOV dword ptr [EBX + 0x8950],EAX
CALL 0x00036b20
ADD ESP,0xc
PUSH 0x2008
MOV dword ptr [EBP + 0xfffffecc],EAX
PUSH EAX
MOV EAX,dword ptr [EBP + 0xfffffee8]
PUSH dword ptr [EAX]
CALL 0x000146f0
MOV ESI,dword ptr [EBX + 0x8978]
ADD ESP,0x10
TEST ESI,ESI
JZ 0x0001bf74
LEA ESI,[ESI]
MOV EAX,dword ptr [ESI + 0x8]
MOV EDX,dword ptr [EAX + 0xc]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x0001bf6e
LEA ESI,[ESI]
MOV ECX,dword ptr [EAX + 0x8]
MOV dword ptr [EDX],ECX
MOV EDX,dword ptr [EAX + 0xc]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x0001bf60
MOV ESI,dword ptr [ESI]
TEST ESI,ESI
JNZ 0x0001bf50
LEA EAX,[EBP + 0xffffff54]
MOV EDX,EAX
MOV dword ptr [EBP + 0xfffffef4],EAX
MOV EAX,dword ptr [EBP + 0xfffffecc]
CALL 0x0001a5e0
SUB ESP,0xc
MOV ESI,dword ptr [EBP + 0xffffff54]
PUSH 0x2
MOV EDI,EAX
MOV dword ptr [EBP + 0xfffffec8],ESI
CALL 0x00024b20
PUSH 0x2
PUSH 0x0
PUSH 0x2
PUSH EAX
CALL 0x000416b0
ADD ESP,0x20
CALL 0x00038f20
MOV ESI,EAX
CALL 0x00038f20
SUB ESP,0x8
MOV byte ptr [EBP + 0xffffff64],0x14
PUSH EDI
MOV EDI,0x1
PUSH dword ptr [EBP + 0xfffffef4]
MOV dword ptr [EBP + 0xffffff28],EAX
MOV dword ptr [EBP + 0xffffff54],EAX
MOV dword ptr [EBP + 0xffffff58],ESI
MOV dword ptr [EBP + 0xffffff5c],0x0
MOV dword ptr [EBP + 0xffffff60],0x0
CALL 0x00031660
MOV dword ptr [ESP],ESI
CALL 0x0003b7e0
MOV dword ptr [ESP],0x1
CALL 0x00024e20
MOV dword ptr [ESP],0x1
CALL 0x00024e20
MOV dword ptr [ESP],0xfffffffb
CALL 0x00024e20
MOV dword ptr [ESP],0xe
CALL 0x00024e20
MOV dword ptr [ESP],0xd
CALL 0x00024e20
MOV dword ptr [ESP],0x0
CALL 0x00024e20
MOV dword ptr [ESP],0x1
CALL 0x00024e20
MOV dword ptr [ESP],0x1
CALL 0x00024e20
MOV dword ptr [ESP],0x1
CALL 0x00024e20
MOV dword ptr [ESP],0x1
CALL 0x00024e20
MOV dword ptr [ESP],0x0
CALL 0x00024e20
MOV dword ptr [ESP],0x0
CALL 0x00024e20
MOV dword ptr [ESP],0x0
CALL 0x00024e20
MOV dword ptr [ESP],0x1
CALL 0x00024e20
MOV dword ptr [ESP],0x0
CALL 0x00024e20
MOV dword ptr [ESP],0x0
CALL 0x00024e20
MOV dword ptr [ESP],0x1
CALL 0x00024e20
ADD ESP,0x10
CMP dword ptr [EBX + 0x8960],0x1
JBE 0x0001c130
LEA ESI,[ESI]
MOV EAX,dword ptr [EBX + 0x8964]
SUB ESP,0xc
PUSH dword ptr [EAX + EDI*0x4]
ADD EDI,0x1
CALL 0x00035620
MOV dword ptr [ESP],EAX
MOV dword ptr [EBP + 0xffffff40],EAX
CALL 0x00014430
LEA ESI,[EAX + 0x1]
MOV dword ptr [ESP],ESI
CALL 0x00024b20
ADD ESP,0xc
PUSH ESI
PUSH dword ptr [EBP + 0xffffff40]
PUSH EAX
CALL 0x000140f0
ADD ESP,0x10
CMP EDI,dword ptr [EBX + 0x8960]
JC 0x0001c0e8
SUB ESP,0xc
MOV ESI,0x1
PUSH 0x0
CALL 0x00024e20
LEA EAX,[EBX + 0xfffdd1cf]
ADD ESP,0x10
CMP dword ptr [EBX + 0x896c],0x1
MOV dword ptr [EBP + 0xffffff38],EAX
LEA EAX,[EBX + 0xfffddb05]
MOV dword ptr [EBP + 0xffffff34],EAX
JA 0x0001c1d3
JMP 0x0001c228
SUB ESP,0xc
MOV dword ptr [EBP + 0xffffff40],EDX
PUSH EDX
CALL 0x00014430
LEA EDI,[EAX + 0x1]
MOV dword ptr [ESP],EDI
CALL 0x00024b20
MOV EDX,dword ptr [EBP + 0xffffff40]
ADD ESP,0xc
PUSH EDI
PUSH EDX
PUSH EAX
CALL 0x000140f0
MOV EAX,dword ptr [EBX + 0x8970]
LEA ECX,[ESI*0x8 + 0x0]
XOR EDX,EDX
ADD ESI,0x1
MOV EAX,dword ptr [EAX + ECX*0x1 + 0x4]
CALL 0x0001a680
XOR EAX,EAX
XOR EDX,EDX
CALL 0x0001a680
XOR EAX,EAX
XOR EDX,EDX
CALL 0x0001a680
ADD ESP,0x10
CMP ESI,dword ptr [EBX + 0x896c]
JNC 0x0001c228
LEA EAX,[ESI*0x8 + 0x0]
MOV dword ptr [EBP + 0xffffff40],EAX
MOV EAX,dword ptr [EBX + 0x8970]
MOV EDX,dword ptr [EAX + ESI*0x8]
TEST EDX,EDX
JNZ 0x0001c170
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [EBP + 0xffffff38]
PUSH 0x0
CALL 0x000141a0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x0002bd60
MOV EAX,dword ptr [EBX + 0x8970]
MOV EDI,dword ptr [EBP + 0xffffff34]
ADD ESP,0x10
MOV dword ptr [EAX + ESI*0x8],EDI
ADD ESI,0x1
CMP ESI,dword ptr [EBX + 0x896c]
JC 0x0001c1d3
LEA ESI,[ESI]
SUB ESP,0xc
PUSH 0x0
CALL 0x00024e20
POP ESI
PUSH dword ptr [EBP + 0xffffff28]
CALL 0x0003b7e0
MOV EAX,dword ptr [EBX + 0x8978]
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff08],EAX
TEST EAX,EAX
LEA EAX,[EBX + 0x97f0]
MOV dword ptr [EBP + 0xfffffed4],EAX
JZ 0x0001c650
MOV EAX,dword ptr [EBX + 0xffffffb0]
MOV dword ptr [EBP + 0xfffffef0],EAX
LEA EAX,[EBX + 0x9740]
MOV dword ptr [EBP + 0xfffffeec],EAX
LEA ESI,[ESI]
MOV EDI,dword ptr [EBP + 0xffffff08]
MOV ESI,dword ptr [EBP + 0xfffffef0]
MOV ECX,dword ptr [EDI + 0x4]
LEA EAX,[ESI + 0xc0]
MOV dword ptr [EBP + 0xffffff00],ECX
CMP ECX,EAX
JZ 0x0001c620
LEA EAX,[ESI + 0x180]
CMP ECX,EAX
JZ 0x0001c620
LEA EAX,[EBX + 0x97ec]
CMP ECX,dword ptr [EAX]
JZ 0x0001c620
LEA EAX,[EBX + 0x9720]
CMP ECX,dword ptr [EAX]
JZ 0x0001c620
MOV EAX,dword ptr [EDI + 0x8]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + 0xffffff40],EAX
MOV EAX,dword ptr [EBP + 0xfffffed4]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x0001c321
MOV EAX,dword ptr [ECX]
LEA EDI,[EBX + 0xfffdb3a1]
MOV ECX,0x6
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x0001d2a3
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [EBP + 0xfffffed8]
CALL 0x00036a60
POP EDX
POP ECX
PUSH 0x0
PUSH EAX
CALL 0x00036b80
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff00]
LEA EDI,[EBP + 0xffffff68]
XOR ESI,ESI
XOR ECX,ECX
MOV dword ptr [EBP + 0xffffff0c],0x0
SUB EAX,-0x80
MOV dword ptr [EBP + 0xfffffee4],EDI
MOV dword ptr [EBP + 0xfffffedc],EAX
MOV EAX,0x1
MOV dword ptr [EBP + 0xfffffef8],0x0
MOV dword ptr [EBP + 0xfffffefc],0x0
MOV dword ptr [EBP + 0xffffff34],0x0
MOV dword ptr [EBP + 0xffffff04],0x1
MOV dword ptr [EBP + 0xffffff30],0x1
MOV dword ptr [EBP + 0xffffff1c],EAX
JMP 0x0001c500
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX + 0x14]
MOV EDI,EAX
MOV dword ptr [EBP + 0xffffff10],EAX
CMP EAX,ESI
JZ 0x0001c3bb
SUB ESP,0xc
PUSH 0xc
CALL 0x00024e20
MOV EAX,EDI
XOR EDX,EDX
CALL 0x0001a680
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV ESI,dword ptr [EAX + 0x18]
MOV EAX,dword ptr [EBP + 0xffffff04]
XOR EAX,ESI
TEST AL,0x1
JNZ 0x0001d0c8
TEST ESI,0x2
JNZ 0x0001d070
TEST ESI,0x4
JNZ 0x0001d092
AND ESI,0x8
JNZ 0x0001d0b1
MOV EDI,dword ptr [EBP + 0xffffff40]
SUB ESP,0xc
MOV EAX,dword ptr [EDI + 0x4]
MOV ECX,dword ptr [EDI + 0xc]
PUSH EAX
MOV ESI,ECX
SUB ESI,dword ptr [EBP + 0xffffff30]
MOV dword ptr [EBP + 0xffffff38],EAX
CALL 0x0003b830
POP ECX
PUSH dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + 0xffffff28],EAX
CALL 0x0003a3c0
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff20],EAX
MOV EAX,dword ptr [EBP + 0xffffff34]
MOV dword ptr [EBP + 0xffffff24],EDX
TEST EAX,EAX
JZ 0x0001d140
MOV EAX,dword ptr [EBX + 0x8958]
CMP dword ptr [EDI + 0x20],EAX
MOV ECX,dword ptr [EBP + 0xffffff34]
JNZ 0x0001c460
TEST EAX,EAX
JNZ 0x0001d0f0
CMP dword ptr [EBP + 0xffffff28],ECX
JNZ 0x0001c478
MOV EAX,dword ptr [EBP + 0xfffffeec]
MOV EDI,dword ptr [EAX]
TEST EDI,EDI
JZ 0x0001d1b8
MOV ECX,dword ptr [EBP + 0xffffff0c]
MOV EDX,dword ptr [EBP + 0xffffff38]
MOV EAX,ESI
CALL 0x0001ae30
MOV EAX,dword ptr [EBP + 0xffffff40]
SUB ESP,0xc
MOV ESI,dword ptr [EAX]
MOV ECX,dword ptr [EAX + 0xc]
PUSH EAX
MOV dword ptr [EBP + 0xffffff30],ECX
MOV EDI,ESI
CALL 0x00014780
MOV EAX,dword ptr [EBP + 0xffffff18]
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xffffff28]
MOV dword ptr [EBP + 0xffffff40],ESI
MOV ECX,dword ptr [EBP + 0xffffff14]
MOV dword ptr [EBP + 0xffffff1c],EAX
MOV EAX,dword ptr [EBP + 0xffffff20]
MOV dword ptr [EBP + 0xffffff34],EDX
MOV EDX,dword ptr [EBP + 0xffffff24]
MOV dword ptr [EBP + 0xfffffef8],EAX
MOV EAX,dword ptr [EBP + 0xffffff38]
MOV ESI,dword ptr [EBP + 0xffffff10]
MOV dword ptr [EBP + 0xfffffefc],EDX
MOV dword ptr [EBP + 0xffffff0c],EAX
TEST EDI,EDI
JZ 0x0001d1e0
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EDI,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + 0xffffff18],EDI
CMP EDI,dword ptr [EBP + 0xffffff1c]
JZ 0x0001c539
SUB ESP,0xc
MOV dword ptr [EBP + 0xffffff38],ECX
PUSH 0x4
CALL 0x00024e20
MOV EAX,EDI
XOR EDX,EDX
CALL 0x0001a680
MOV ECX,dword ptr [EBP + 0xffffff38]
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX + 0x10]
MOV EDI,EAX
MOV dword ptr [EBP + 0xffffff14],EAX
CMP EAX,ECX
JZ 0x0001c564
SUB ESP,0xc
PUSH 0x5
CALL 0x00024e20
MOV EAX,EDI
XOR EDX,EDX
CALL 0x0001a680
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX + 0x1c]
TEST EAX,EAX
JZ 0x0001c390
SUB ESP,0xc
PUSH 0x0
CALL 0x00024e20
MOV EDI,dword ptr [EBP + 0xffffff40]
ADD ESP,0xc
XOR EDX,EDX
PUSH 0x0
MOV EAX,dword ptr [EDI + 0x1c]
PUSH EDX
PUSH EAX
CALL 0x00031e30
ADD ESP,0xc
XOR ECX,ECX
LEA EDX,[EAX + 0x1]
PUSH 0x1
PUSH ECX
PUSH EDX
MOV dword ptr [EBP + 0xffffff38],EDX
MOV dword ptr [EBP + 0xffffff3c],ECX
CALL 0x00031e30
MOV dword ptr [ESP],EAX
CALL 0x00024b20
MOV EDX,dword ptr [EBP + 0xffffff38]
MOV ECX,dword ptr [EBP + 0xffffff3c]
PUSH 0x1
PUSH ECX
PUSH EDX
PUSH EAX
CALL 0x00031e70
ADD ESP,0x14
PUSH 0x4
CALL 0x00024e20
MOV EAX,dword ptr [EDI + 0x1c]
XOR EDX,EDX
CALL 0x0001a680
ADD ESP,0x10
JMP 0x0001c390
MOV EAX,dword ptr [EBP + 0xfffffee0]
TEST EAX,EAX
JZ 0x0001bf08
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDI,dword ptr [EBX + 0x8978]
TEST EDI,EDI
JZ 0x0001c5fb
SUB ESP,0xc
LEA EAX,[EBX + 0xfffdd38c]
PUSH EAX
CALL 0x0002be00
MOV EAX,dword ptr [EBP + 0xffffff00]
SUB ESP,0x8
PUSH dword ptr [EAX]
LEA EAX,[EBX + 0xfffdd3ac]
PUSH EAX
CALL 0x0002bc80
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff08]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + 0xffffff08],EAX
TEST EAX,EAX
JNZ 0x0001c280
MOV EAX,dword ptr [EBP + 0xfffffed4]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x0001d326
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffffec8]
CALL 0x0003b7e0
MOV EDI,dword ptr [EBP + 0xfffffee0]
ADD ESP,0x10
TEST EDI,EDI
JZ 0x0001c5fb
MOV ESI,dword ptr [EBX + 0x8978]
TEST ESI,ESI
JZ 0x0001d450
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [EBP + 0xfffffed0]
CALL 0x00036b20
MOV EDI,EAX
MOV dword ptr [EBP + 0xffffff1c],EAX
POP EAX
LEA EAX,[EBX + 0xfffdd2b9]
POP EDX
PUSH 0x0
PUSH EAX
CALL 0x00036b20
POP ECX
POP ESI
PUSH 0x0
MOV dword ptr [EBP + 0xffffff20],EAX
LEA EAX,[EBX + 0xfffdd2c7]
PUSH EAX
CALL 0x00036b20
MOV dword ptr [EBP + 0xffffff30],EAX
POP EAX
LEA EAX,[EBX + 0xfffdd2d6]
POP EDX
PUSH 0x0
PUSH EAX
CALL 0x00036b20
ADD ESP,0xc
PUSH 0x2008
MOV ESI,EAX
PUSH EDI
MOV EDI,dword ptr [EBP + 0xfffffee8]
MOV dword ptr [EBP + 0xffffff14],EAX
PUSH dword ptr [EDI]
CALL 0x000146f0
ADD ESP,0xc
PUSH 0x2008
PUSH dword ptr [EBP + 0xffffff20]
PUSH dword ptr [EDI]
CALL 0x000146f0
ADD ESP,0xc
PUSH 0x2008
PUSH dword ptr [EBP + 0xffffff30]
PUSH dword ptr [EDI]
CALL 0x000146f0
ADD ESP,0xc
PUSH 0x1802008
PUSH ESI
PUSH dword ptr [EDI]
CALL 0x000146f0
MOV EAX,dword ptr [EBX + 0x8950]
MOV dword ptr [ESI + 0x90],0x1
MOV ESI,0xffffffff
POP ECX
POP EDX
ADD EAX,EAX
BSF EAX,EAX
CMOVZ EAX,ESI
PUSH EAX
PUSH dword ptr [EBP + 0xffffff30]
CALL 0x0003f680
MOV EAX,dword ptr [EBX + 0x8978]
LEA ECX,[EBP + 0xffffff68]
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff38],ECX
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + 0xffffff18],EAX
TEST EAX,EAX
JZ 0x0001c984
SUB ESP,0x8
LEA EAX,[EBX + 0xfffdd2e1]
PUSH 0x0
PUSH EAX
CALL 0x00036b20
ADD ESP,0xc
PUSH 0x2008
PUSH EAX
PUSH dword ptr [EDI]
MOV dword ptr [EBP + 0xffffff18],EAX
CALL 0x000146f0
MOV EAX,dword ptr [EBX + 0x8950]
POP EDI
MOV EDI,dword ptr [EBP + 0xffffff18]
POP EDX
ADD EAX,EAX
BSF EAX,EAX
CMOVZ EAX,ESI
PUSH EAX
PUSH EDI
CALL 0x0003f680
MOV EAX,dword ptr [EBX + 0x8950]
POP ECX
MOV ESI,EAX
MOV dword ptr [EBP + 0xffffff40],EAX
POP EAX
PUSH 0x0
PUSH EDI
CALL 0x00036b80
ADD ESP,0x10
MOV EAX,ESI
TEST ESI,ESI
JZ 0x0001d428
XOR ESI,ESI
MOV EDI,EAX
LEA ESI,[ESI]
SUB ESP,0xc
ADD ESI,0x1
PUSH 0xff
CALL 0x00024e20
ADD ESP,0x10
CMP EDI,ESI
JNZ 0x0001c7f8
XOR ESI,ESI
LEA ESI,[ESI]
SUB ESP,0xc
ADD ESI,0x1
PUSH 0x0
CALL 0x00024e20
ADD ESP,0x10
CMP EDI,ESI
JNZ 0x0001c818
MOV dword ptr [EBP + 0xffffff40],EDI
MOV EDI,dword ptr [EBX + 0x8978]
TEST EDI,EDI
JZ 0x0001d417
LEA EAX,[EBP + 0xffffff68]
MOV dword ptr [EBP + 0xffffff38],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [EDI + 0x4]
MOV EDX,dword ptr [EAX + 0x80]
MOV EDX,dword ptr [EDX]
PUSH dword ptr [EDX]
PUSH 0x0
PUSH 0x0
PUSH EAX
CALL 0x00038f40
MOV ESI,dword ptr [EDI + 0x4]
ADD ESP,0x10
MOV ECX,EAX
MOV dword ptr [EDI + 0xc],EAX
MOV EAX,dword ptr [ESI + 0x80]
MOV EDX,dword ptr [EAX]
JMP 0x0001c882
MOV EDX,EAX
MOV EAX,dword ptr [EDX + 0x8]
TEST EAX,EAX
JNZ 0x0001c880
MOV dword ptr [EBP + 0xffffff34],ECX
MOV ECX,dword ptr [EDX + 0x4]
LEA EDX,[ESI + 0x80]
MOV EAX,ECX
MOV dword ptr [EBP + 0xffffff28],ECX
CALL 0x0001a6c0
MOV ECX,dword ptr [EBP + 0xffffff28]
PUSH ECX
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x00038f40
MOV dword ptr [EDI + 0x10],EAX
MOV ESI,EAX
MOV EAX,dword ptr [EBP + 0xffffff34]
MOV byte ptr [EBP + 0xffffff78],0x3
MOV dword ptr [EBP + 0xffffff68],EAX
POP EAX
MOV dword ptr [EBP + 0xffffff70],0x0
POP EDX
PUSH dword ptr [EBP + 0xffffff40]
PUSH dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + 0xffffff74],0x0
CALL 0x00031660
POP ECX
MOV dword ptr [EBP + 0xffffff68],ESI
POP ESI
PUSH dword ptr [EBP + 0xffffff40]
PUSH dword ptr [EBP + 0xffffff38]
MOV byte ptr [EBP + 0xffffff78],0x3
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + 0xffffff74],0x0
CALL 0x00031660
MOV EDI,dword ptr [EDI]
ADD ESP,0x10
TEST EDI,EDI
JNZ 0x0001c850
MOV EAX,dword ptr [EBP + 0xffffff40]
TEST EAX,EAX
JZ 0x0001c984
MOV EAX,dword ptr [EBP + 0xffffff40]
XOR ESI,ESI
MOV EDI,EAX
LEA ESI,[ESI]
NOP
SUB ESP,0xc
ADD ESI,0x1
PUSH 0x0
CALL 0x00024e20
ADD ESP,0x10
CMP EDI,ESI
JNZ 0x0001c950
XOR ESI,ESI
LEA ESI,[ESI]
LEA ESI,[ESI]
SUB ESP,0xc
ADD ESI,0x1
PUSH 0x0
CALL 0x00024e20
ADD ESP,0x10
CMP EDI,ESI
JNZ 0x0001c970
MOV EAX,dword ptr [EBX + 0x8950]
MOV EDX,dword ptr [EBP + 0xfffffef4]
MOV dword ptr [EBP + 0xffffff34],EAX
MOV EAX,dword ptr [EBP + 0xffffff30]
CALL 0x0001a5e0
SUB ESP,0xc
MOV EDI,dword ptr [EBP + 0xffffff54]
MOV ESI,dword ptr [EBP + 0xffffff5c]
PUSH 0x2
MOV dword ptr [EBP + 0xffffff10],EDI
MOV EDI,dword ptr [EBP + 0xffffff60]
MOV dword ptr [EBP + 0xffffff28],ESI
MOV dword ptr [EBP + 0xffffff2c],EDI
MOV dword ptr [EBP + 0xffffff40],EAX
CALL 0x00024b20
PUSH 0x2
PUSH 0x0
PUSH 0x2
PUSH EAX
CALL 0x000416b0
ADD ESP,0x14
PUSH dword ptr [EBP + 0xffffff1c]
CALL 0x00036bd0
POP ESI
POP EDI
PUSH dword ptr [EBP + 0xffffff40]
PUSH dword ptr [EBP + 0xffffff38]
XOR EDI,EDI
MOV ESI,0x2
MOV dword ptr [EBP + 0xffffff68],EAX
MOV byte ptr [EBP + 0xffffff78],0x3
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + 0xffffff74],0x0
CALL 0x00031660
MOV EAX,dword ptr [EBP + 0xffffff40]
SUB ESI,dword ptr [EBP + 0xffffff28]
SBB EDI,dword ptr [EBP + 0xffffff2c]
CDQ
ADD EAX,ESI
MOV dword ptr [EBP + 0xffffff40],EAX
POP EAX
ADC EDX,EDI
PUSH dword ptr [EBP + 0xffffff34]
MOV dword ptr [EBP + 0xffffff44],EDX
CALL 0x00024e20
MOV dword ptr [ESP],0x0
CALL 0x00024e20
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EDX,dword ptr [EBP + 0xffffff44]
MOV dword ptr [EBP + 0xffffff2c],0x0
MOV ECX,dword ptr [EBP + 0xffffff34]
PUSH dword ptr [EBP + 0xffffff2c]
MOV ESI,EAX
MOV EDI,EDX
ADD ESI,0x3
ADC EDI,0x0
ADD ECX,ECX
ADD EAX,0x2
ADC EDX,0x0
MOV dword ptr [EBP + 0xffffff28],ECX
PUSH dword ptr [EBP + 0xffffff28]
PUSH EDX
PUSH EAX
MOV dword ptr [EBP + 0xffffff30],ECX
CALL 0x00059b60
XOR ECX,ECX
ADD ESP,0x20
CMP ECX,EAX
SBB ECX,EDX
JGE 0x0001cb0f
LEA ESI,[ESI]
SUB ESP,0xc
PUSH 0x0
CALL 0x00024e20
PUSH dword ptr [EBP + 0xffffff2c]
MOV EAX,ESI
MOV EDX,EDI
PUSH dword ptr [EBP + 0xffffff28]
ADD EAX,0x1
PUSH EDI
ADC EDX,0x0
PUSH ESI
MOV dword ptr [EBP + 0xffffff40],EAX
MOV dword ptr [EBP + 0xffffff44],EDX
CALL 0x00059b60
XOR ECX,ECX
ADD ESP,0x20
MOV ESI,dword ptr [EBP + 0xffffff40]
CMP ECX,EAX
MOV EAX,0x0
MOV EDI,dword ptr [EBP + 0xffffff44]
SBB EAX,EDX
JL 0x0001cac0
MOV EAX,dword ptr [EBX + 0x8978]
TEST EAX,EAX
JZ 0x0001cc26
MOV dword ptr [EBP + 0xffffff40],EAX
LEA ESI,[ESI]
NOP
MOV EDI,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EDI + 0x4]
MOV EDX,dword ptr [EAX + 0x80]
MOV EDX,dword ptr [EDX]
PUSH dword ptr [EDX]
PUSH 0x0
PUSH 0x0
PUSH EAX
CALL 0x00038f40
MOV ECX,EDI
MOV EDI,dword ptr [EDI + 0x4]
ADD ESP,0x10
MOV ESI,EAX
MOV dword ptr [ECX + 0xc],EAX
MOV EAX,dword ptr [EDI + 0x80]
MOV EDX,dword ptr [EAX]
JMP 0x0001cb62
MOV EDX,EAX
MOV EAX,dword ptr [EDX + 0x8]
TEST EAX,EAX
JNZ 0x0001cb60
MOV dword ptr [EBP + 0xffffff40],ECX
MOV ECX,dword ptr [EDX + 0x4]
LEA EDX,[EDI + 0x80]
MOV EAX,ECX
MOV dword ptr [EBP + 0xffffff28],ECX
CALL 0x0001a6c0
MOV ECX,dword ptr [EBP + 0xffffff28]
PUSH ECX
PUSH EDX
PUSH EAX
PUSH EDI
CALL 0x00038f40
MOV EDI,EAX
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV dword ptr [EAX + 0x10],EDI
POP EAX
POP EDX
PUSH dword ptr [EBP + 0xffffff34]
PUSH dword ptr [EBP + 0xfffffef4]
MOV dword ptr [EBP + 0xffffff54],ESI
MOV byte ptr [EBP + 0xffffff64],0x3
MOV dword ptr [EBP + 0xffffff5c],0x0
MOV dword ptr [EBP + 0xffffff60],0x0
CALL 0x00031660
POP ECX
MOV dword ptr [EBP + 0xffffff58],ESI
POP ESI
PUSH dword ptr [EBP + 0xffffff34]
PUSH dword ptr [EBP + 0xfffffef4]
MOV byte ptr [EBP + 0xffffff64],0x14
MOV dword ptr [EBP + 0xffffff54],EDI
MOV dword ptr [EBP + 0xffffff5c],0x0
MOV dword ptr [EBP + 0xffffff60],0x0
CALL 0x00031660
MOV EAX,dword ptr [EBP + 0xffffff40]
ADD ESP,0x10
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + 0xffffff40],EAX
TEST EAX,EAX
JNZ 0x0001cb28
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff30]
CALL 0x00024b20
MOV EDI,dword ptr [EBP + 0xffffff34]
MOV ESI,EAX
PUSH EDI
ADD ESI,EDI
PUSH 0x0
PUSH 0x0
PUSH EAX
CALL 0x000416b0
ADD ESP,0x20
PUSH EDI
PUSH 0x0
PUSH 0x0
PUSH ESI
CALL 0x000416b0
POP EDI
PUSH dword ptr [EBP + 0xffffff10]
CALL 0x0003b7e0
POP EAX
POP EDX
PUSH 0x0
PUSH dword ptr [EBP + 0xffffff20]
CALL 0x00036b80
MOV EAX,0x1
XOR EDX,EDX
CALL 0x0001a680
MOV EAX,0x11
XOR EDX,EDX
CALL 0x0001a680
MOV dword ptr [ESP],0x0
CALL 0x00024e20
MOV EAX,0x10
XOR EDX,EDX
CALL 0x0001a680
MOV EAX,0x6
XOR EDX,EDX
CALL 0x0001a680
MOV EAX,dword ptr [EBX + 0x8978]
ADD ESP,0x10
MOV ECX,dword ptr [EAX]
TEST ECX,ECX
JZ 0x0001d2be
MOV EAX,0x55
XOR EDX,EDX
CALL 0x0001a680
MOV EAX,0x6
XOR EDX,EDX
CALL 0x0001a680
MOV EAX,0x3
XOR EDX,EDX
CALL 0x0001a680
MOV EAX,0xe
XOR EDX,EDX
CALL 0x0001a680
MOV EAX,0x1b
XOR EDX,EDX
CALL 0x0001a680
MOV EAX,0xe
XOR EDX,EDX
CALL 0x0001a680
MOV EAX,0x25
XOR EDX,EDX
CALL 0x0001a680
MOV EAX,0xe
XOR EDX,EDX
CALL 0x0001a680
MOV EAX,0x13
XOR EDX,EDX
CALL 0x0001a680
MOV EAX,0x5
XOR EDX,EDX
CALL 0x0001a680
XOR EAX,EAX
XOR EDX,EDX
CALL 0x0001a680
XOR EDX,EDX
XOR EAX,EAX
CALL 0x0001a680
SUB ESP,0xc
PUSH 0x0
CALL 0x00024e20
POP EDI
POP EAX
PUSH 0x0
PUSH dword ptr [EBP + 0xffffff14]
CALL 0x00036b80
CALL 0x00038f70
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff40],EAX
MOV EAX,dword ptr [EBX + 0x896c]
TEST EAX,EAX
JZ 0x0001d469
MOV EAX,dword ptr [EBX + 0x8970]
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JNZ 0x0001d349
SUB ESP,0xc
PUSH dword ptr [EAX + 0x8]
CALL 0x00014430
LEA ESI,[EAX + 0x1]
MOV dword ptr [ESP],ESI
CALL 0x00024b20
MOV EDX,dword ptr [EBX + 0x8970]
ADD ESP,0xc
MOV EDX,dword ptr [EDX + 0x8]
PUSH ESI
PUSH EDX
PUSH EAX
CALL 0x000140f0
CALL 0x00038f70
MOV dword ptr [EBP + 0xffffff34],EAX
CALL 0x000141f0
MOV dword ptr [ESP],EAX
CALL 0x00035620
MOV EDI,EAX
MOV dword ptr [ESP],EAX
CALL 0x00014430
LEA ESI,[EAX + 0x1]
MOV dword ptr [ESP],ESI
CALL 0x00024b20
ADD ESP,0xc
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x000140f0
CALL 0x00038f70
ADD ESP,0xc
MOV EDI,dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + 0xffffff28],EAX
LEA EAX,[EBX + 0xfffdb273]
PUSH EAX
LEA EAX,[EBX + 0xfffdd2ef]
PUSH EAX
PUSH EDI
CALL 0x00014670
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EDX,EDI
MOV ESI,EAX
MOV ECX,dword ptr [EDX]
ADD EDX,0x4
LEA EAX,[ECX + 0xfefefeff]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x0001ce25
MOV ECX,EAX
MOV EDI,dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + 0xffffff40],ESI
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA ECX,[EDX + 0x2]
CMOVZ EDX,ECX
MOV ECX,EAX
ADD CL,AL
SBB EDX,0x3
SUB EDX,EDI
LEA ESI,[EDX + 0x1]
MOV dword ptr [ESP],ESI
CALL 0x00024b20
CMP ESI,0x4
JNC 0x0001d2f3
TEST ESI,ESI
JZ 0x0001ce8c
MOVZX EDX,byte ptr [EDI]
MOV byte ptr [EAX],DL
TEST ESI,0x2
JNZ 0x0001d43b
MOV EDX,dword ptr [EBP + 0xfffffef4]
MOV EAX,dword ptr [EBP + 0xffffff1c]
CALL 0x0001a5e0
MOV dword ptr [ESP],0x2
MOV EDI,dword ptr [EBP + 0xffffff54]
MOV ESI,EAX
CALL 0x00024b20
PUSH 0x2
PUSH 0x0
PUSH 0x2
PUSH EAX
CALL 0x000416b0
ADD ESP,0x14
PUSH dword ptr [EBP + 0xffffff20]
CALL 0x00036bd0
POP ECX
MOV byte ptr [EBP + 0xffffff78],0x3
MOV dword ptr [EBP + 0xffffff68],EAX
POP EAX
PUSH ESI
PUSH dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + 0xffffff74],0x0
CALL 0x00031660
POP EAX
PUSH dword ptr [EBX + 0x8950]
CALL 0x00024e20
XOR EDX,EDX
MOV EAX,0x1
CALL 0x0001a680
POP EAX
PUSH dword ptr [EBP + 0xfffffecc]
CALL 0x00036bd0
MOV byte ptr [EBP + 0xffffff78],0x3
MOV dword ptr [EBP + 0xffffff68],EAX
POP EAX
MOV dword ptr [EBP + 0xffffff70],0x0
POP EDX
PUSH 0x4
PUSH dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + 0xffffff74],0x0
CALL 0x00031660
MOV EAX,dword ptr [EBX + 0x8978]
ADD ESP,0x10
MOV ECX,dword ptr [EAX]
TEST ECX,ECX
JZ 0x0001d39a
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff18]
CALL 0x00036bd0
POP ECX
MOV byte ptr [EBP + 0xffffff78],0x3
MOV dword ptr [EBP + 0xffffff68],EAX
POP EAX
PUSH ESI
PUSH dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + 0xffffff74],0x0
CALL 0x00031660
ADD ESP,0x10
SUB ESP,0x8
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV byte ptr [EBP + 0xffffff78],0x3
PUSH ESI
PUSH dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + 0xffffff68],EAX
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + 0xffffff74],0x0
CALL 0x00031660
POP EDX
POP ECX
PUSH ESI
PUSH dword ptr [EBP + 0xffffff38]
MOV EAX,dword ptr [EBP + 0xffffff34]
MOV byte ptr [EBP + 0xffffff78],0x3
MOV dword ptr [EBP + 0xffffff68],EAX
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + 0xffffff74],0x0
CALL 0x00031660
MOV EAX,dword ptr [EBP + 0xffffff28]
MOV byte ptr [EBP + 0xffffff78],0x3
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + 0xffffff68],EAX
POP EAX
MOV dword ptr [EBP + 0xffffff74],0x0
POP EDX
PUSH ESI
PUSH dword ptr [EBP + 0xffffff38]
CALL 0x00031660
MOV dword ptr [ESP],0x2
CALL 0x00024b20
PUSH 0x2
PUSH 0x0
PUSH 0x8001
PUSH EAX
CALL 0x000416b0
ADD ESP,0x14
PUSH EDI
CALL 0x0003b7e0
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH 0x7
CALL 0x00024e20
MOV EAX,dword ptr [EBP + 0xffffff40]
ADD ESP,0x10
MOV ESI,dword ptr [EAX + 0x18]
TEST ESI,0x4
JZ 0x0001c3ec
SUB ESP,0xc
PUSH 0xa
CALL 0x00024e20
MOV EAX,dword ptr [EBP + 0xffffff40]
ADD ESP,0x10
MOV ESI,dword ptr [EAX + 0x18]
AND ESI,0x8
JZ 0x0001c3f5
SUB ESP,0xc
PUSH 0xb
CALL 0x00024e20
ADD ESP,0x10
JMP 0x0001c3f5
SUB ESP,0xc
PUSH 0x6
CALL 0x00024e20
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV dword ptr [EBP + 0xffffff04],ESI
ADD ESP,0x10
MOV ESI,dword ptr [EAX + 0x18]
JMP 0x0001c3d4
CMP dword ptr [EBP + 0xffffff28],ECX
JZ 0x0001d248
MOV EDX,dword ptr [EBP + 0xffffff20]
MOV ECX,dword ptr [EBP + 0xffffff24]
MOV EAX,EDX
MOV EDX,ECX
OR EDX,EAX
JNZ 0x0001c478
MOV EDX,dword ptr [EBP + 0xfffffedc]
MOV EAX,dword ptr [EBP + 0xffffff34]
CALL 0x0001a6c0
CMP dword ptr [EBP + 0xfffffef8],EAX
MOV EAX,dword ptr [EBP + 0xfffffefc]
SBB EAX,EDX
JL 0x0001c478
LEA ESI,[ESI]
SUB ESP,0xc
PUSH 0x0
CALL 0x00024e20
MOV EAX,dword ptr [EBX + 0x8950]
XOR EDX,EDX
ADD EAX,0x1
CALL 0x0001a680
MOV dword ptr [ESP],0x2
CALL 0x00024e20
MOV EAX,dword ptr [EBP + 0xffffff38]
MOV byte ptr [EBP + 0xffffff78],0x3
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + 0xffffff68],EAX
POP EAX
MOV dword ptr [EBP + 0xffffff74],0x0
POP EDX
PUSH dword ptr [EBX + 0x8950]
PUSH dword ptr [EBP + 0xfffffee4]
CALL 0x00031660
XOR EDX,EDX
XOR ECX,ECX
MOV EAX,ESI
CALL 0x0001ade0
ADD ESP,0x10
JMP 0x0001c48b
MOV EDX,dword ptr [EBP + 0xffffff20]
MOV ECX,dword ptr [EBP + 0xffffff24]
MOV EAX,ESI
SUB EDX,dword ptr [EBP + 0xfffffef8]
SBB ECX,dword ptr [EBP + 0xfffffefc]
CALL 0x0001ade0
JMP 0x0001c48b
MOV EAX,dword ptr [EBP + 0xffffff00]
MOV EDI,dword ptr [EBP + 0xffffff38]
MOV EAX,dword ptr [EAX + 0x80]
MOV EDX,dword ptr [EAX]
JMP 0x0001d202
MOV EDX,EAX
MOV EAX,dword ptr [EDX + 0x8]
TEST EAX,EAX
JNZ 0x0001d200
MOV ESI,dword ptr [EDX + 0x4]
MOV EDX,dword ptr [EBP + 0xfffffedc]
MOV EAX,ESI
CALL 0x0001a6c0
CMP dword ptr [EBP + 0xffffff28],ESI
JZ 0x0001d278
PUSH ESI
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff00]
CALL 0x00038f40
MOV ECX,EDI
MOV EDX,EAX
MOV EAX,0x7fffffff
CALL 0x0001ae30
ADD ESP,0x10
JMP 0x0001c63a
MOV ECX,dword ptr [EBP + 0xfffffefc]
MOV EDI,dword ptr [EBP + 0xffffff24]
MOV EDX,dword ptr [EBP + 0xfffffef8]
MOV EAX,dword ptr [EBP + 0xffffff20]
XOR EDI,ECX
XOR EAX,EDX
MOV EDX,EDI
OR EDX,EAX
JNZ 0x0001c468
JMP 0x0001d140
LEA ECX,[EBX + 0x9740]
MOV ECX,dword ptr [ECX]
TEST ECX,ECX
JNZ 0x0001d221
SUB EAX,dword ptr [EBP + 0xffffff20]
SBB EDX,dword ptr [EBP + 0xffffff24]
MOV ECX,EDX
MOV EDX,EAX
MOV EAX,0x7fffffff
CALL 0x0001ade0
JMP 0x0001c63a
SUB ESP,0x4
PUSH 0x0
PUSH EAX
PUSH dword ptr [EBP + 0xfffffed8]
CALL 0x00014250
POP ESI
POP EDI
PUSH 0x0
PUSH EAX
JMP 0x0001c30f
XOR EDX,EDX
MOV EAX,0x11
CALL 0x0001a680
XOR EDX,EDX
MOV EAX,0x1
CALL 0x0001a680
XOR EDX,EDX
MOV EAX,0x12
CALL 0x0001a680
MOV EAX,0x1
XOR EDX,EDX
CALL 0x0001a680
JMP 0x0001ccd9
MOV EDX,dword ptr [EBP + 0xffffff68]
LEA EDI,[EAX + 0x4]
AND EDI,0xfffffffc
MOV dword ptr [EAX],EDX
MOV EDX,dword ptr [EBP + ESI*0x1 + 0xffffff64]
MOV dword ptr [EAX + ESI*0x1 + -0x4],EDX
SUB EAX,EDI
MOV ECX,EAX
MOV EAX,dword ptr [EBP + 0xffffff38]
SUB EAX,ECX
ADD ECX,ESI
SHR ECX,0x2
MOV ESI,EAX
MOVSD.REP ES:EDI,ESI
JMP 0x0001ce8c
SUB ESP,0x8
LEA EAX,[EBX + 0xfffdd2a9]
PUSH 0x0
PUSH EAX
CALL 0x00036a60
POP EDX
POP ECX
PUSH 0x0
PUSH EAX
CALL 0x00036b80
ADD ESP,0x10
JMP 0x0001c660
MOV EAX,dword ptr [EBX + 0x8964]
SUB ESP,0xc
PUSH dword ptr [EAX + EDX*0x4]
CALL 0x00035620
MOV dword ptr [ESP],EAX
MOV dword ptr [EBP + 0xffffff34],EAX
CALL 0x00014430
MOV ESI,EAX
LEA EAX,[EAX + 0x1]
MOV dword ptr [ESP],EAX
CALL 0x00024b20
MOV EDX,dword ptr [EBP + 0xffffff34]
ADD ESP,0xc
PUSH ESI
MOV EDI,EAX
PUSH EDX
PUSH EAX
CALL 0x000140f0
MOV byte ptr [EDI + ESI*0x1],0x2f
MOV EAX,dword ptr [EBX + 0x8970]
ADD ESP,0x10
JMP 0x0001cd91
SUB ESP,0x8
MOV EAX,dword ptr [EAX + 0xc]
PUSH dword ptr [EBX + 0x8950]
PUSH dword ptr [EBP + 0xfffffef4]
MOV dword ptr [EBP + 0xffffff54],EAX
MOV byte ptr [EBP + 0xffffff64],0x3
MOV dword ptr [EBP + 0xffffff5c],0x0
MOV dword ptr [EBP + 0xffffff60],0x0
CALL 0x00031660
MOV EAX,dword ptr [EBX + 0x8978]
MOV byte ptr [EBP + 0xffffff64],0x3
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [EBP + 0xffffff5c],0x0
MOV dword ptr [EBP + 0xffffff60],0x0
MOV dword ptr [EBP + 0xffffff54],EAX
POP EAX
POP EDX
PUSH dword ptr [EBX + 0x8950]
PUSH dword ptr [EBP + 0xfffffef4]
CALL 0x00031660
ADD ESP,0x10
JMP 0x0001cfa1
LEA EAX,[EBP + 0xffffff68]
MOV dword ptr [EBP + 0xffffff38],EAX
JMP 0x0001c93e
MOV EDI,dword ptr [EBX + 0x8978]
TEST EDI,EDI
JNZ 0x0001c840
JMP 0x0001c984
MOV EDI,dword ptr [EBP + 0xffffff38]
MOVZX EDX,word ptr [EDI + ESI*0x1 + -0x2]
MOV word ptr [EAX + ESI*0x1 + -0x2],DX
JMP 0x0001ce8c
LEA EAX,[EBX + 0xfffdd414]
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xfffdd15b]
PUSH 0x89e
PUSH EAX
CALL 0x0002be80
LEA EAX,[EBX + 0xfffdd3f4]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfffdd15b]
PUSH 0x830
PUSH EAX
CALL 0x0002be80
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Restarted to delay deadcode elimination for space: stack */\n\nvoid FUN_0001be60(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  longlong lVar3;\n  undefined *puVar4;\n  undefined1 auVar5 [4];\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  char *pcVar12;\n  size_t sVar13;\n  void *pvVar14;\n  int iVar15;\n  undefined4 uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  int iVar22;\n  uint *puVar23;\n  byte *pbVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  uint uVar27;\n  byte *pbVar28;\n  int *piVar29;\n  int iVar30;\n  undefined4 *puVar31;\n  bool bVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  longlong lVar36;\n  undefined8 uVar37;\n  uint local_10c;\n  int local_108;\n  uint local_100;\n  int local_ec;\n  int local_e8;\n  int local_d0;\n  uint *local_cc;\n  int *local_c4;\n  int local_b0;\n  int local_ac;\n  uint local_a8;\n  undefined1 local_a4 [4];\n  undefined1 local_a0 [4];\n  uint local_9c [4];\n  undefined1 local_8c;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x1be6b;\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");\n  bVar33 = true;\n  if (iVar6 != 0) {\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");\n  if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be00("duplicate .debug_line sections");\n  }\n  if ((DAT_00088978 == (int *)0x0) && (bVar33)) {\n    return;\n  }\n  DAT_00088950 = FUN_00054100();\n  uVar7 = FUN_00036b20(".debug_line",0);\n  bfd_set_section_flags(DAT_00089944,uVar7,0x2008);\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }\n  uVar8 = FUN_0001a5e0();\n  iVar6 = local_b0;\n  uVar9 = FUN_00024b20(2);\n  FUN_000416b0(uVar9,2,0,2);\n  iVar10 = FUN_00038f20();\n  iVar11 = FUN_00038f20();\n  local_a0[0] = 0x14;\n  uVar27 = 1;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_00031660(&local_b0,uVar8);\n  FUN_0003b7e0(iVar10);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0xfffffffb);\n  FUN_00024e20(0xe);\n  FUN_00024e20(0xd);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  if (1 < DAT_00088960) {\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }\n  uVar27 = 1;\n  FUN_00024e20(0);\n  if (1 < DAT_0008896c) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }\nLAB_0001c228:\n  FUN_00024e20(0);\n  FUN_0003b7e0(iVar11);\n  puVar4 = PTR__bfd_std_section_0007ffb0;\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }\n  if (DAT_000897f0 != 0) {\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }\n  FUN_0003b7e0(iVar6);\n  if (!bVar33) {\n    return;\n  }\n  if (DAT_00088978 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_00036b20(".debug_info",0);\n  uVar9 = FUN_00036b20(".debug_abbrev",0);\n  uVar16 = FUN_00036b20(".debug_aranges",0);\n  iVar10 = FUN_00036b20(".debug_str",0);\n  bfd_set_section_flags(DAT_00089944,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);\n  iVar6 = DAT_00088950;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar27 = iVar6 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(uVar16,iVar6);\n  local_ec = *DAT_00088978;\n  if (local_ec == 0) goto LAB_0001c984;\n  local_ec = FUN_00036b20(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00089944,local_ec,0x2008);\n  uVar27 = DAT_00088950 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(local_ec,iVar6);\n  iVar6 = DAT_00088950;\n  FUN_00036b80(local_ec,0);\n  if (iVar6 == 0) {\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }\n  else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\nLAB_0001c984:\n  iVar11 = DAT_00088950;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a5e0();\n  auVar5 = local_a4;\n  uVar27 = local_a8;\n  iVar2 = local_b0;\n  uVar16 = FUN_00024b20(2);\n  FUN_000416b0(uVar16,2,0,2);\n  local_9c[0] = FUN_00036bd0(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_00031660(local_cc,uVar17);\n  uVar25 = 2 - uVar27;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024e20(iVar11);\n  FUN_00024e20(0);\n  uVar27 = uVar18 + 3;\n  iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar6 = iVar11 * 2;\n  uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);\n  piVar29 = DAT_00088978;\n  if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }\n  for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }\n  iVar6 = FUN_00024b20(iVar6);\n  FUN_000416b0(iVar6,0,0,iVar11);\n  FUN_000416b0(iVar6 + iVar11,0,0,iVar11);\n  FUN_0003b7e0(iVar2);\n  FUN_00036b80(uVar9,0);\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_0001a680();\n  FUN_0001a680();\n  if (*DAT_00088978 == 0) {\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_00036b80(iVar10,0);\n  uVar27 = FUN_00038f70();\n  if (DAT_0008896c != 0) {\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);\n}\n\n" comment comment (function_definition "void FUN_0001be60(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  longlong lVar3;\n  undefined *puVar4;\n  undefined1 auVar5 [4];\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  char *pcVar12;\n  size_t sVar13;\n  void *pvVar14;\n  int iVar15;\n  undefined4 uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  int iVar22;\n  uint *puVar23;\n  byte *pbVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  uint uVar27;\n  byte *pbVar28;\n  int *piVar29;\n  int iVar30;\n  undefined4 *puVar31;\n  bool bVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  longlong lVar36;\n  undefined8 uVar37;\n  uint local_10c;\n  int local_108;\n  uint local_100;\n  int local_ec;\n  int local_e8;\n  int local_d0;\n  uint *local_cc;\n  int *local_c4;\n  int local_b0;\n  int local_ac;\n  uint local_a8;\n  undefined1 local_a4 [4];\n  undefined1 local_a0 [4];\n  uint local_9c [4];\n  undefined1 local_8c;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x1be6b;\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");\n  bVar33 = true;\n  if (iVar6 != 0) {\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");\n  if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be00("duplicate .debug_line sections");\n  }\n  if ((DAT_00088978 == (int *)0x0) && (bVar33)) {\n    return;\n  }\n  DAT_00088950 = FUN_00054100();\n  uVar7 = FUN_00036b20(".debug_line",0);\n  bfd_set_section_flags(DAT_00089944,uVar7,0x2008);\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }\n  uVar8 = FUN_0001a5e0();\n  iVar6 = local_b0;\n  uVar9 = FUN_00024b20(2);\n  FUN_000416b0(uVar9,2,0,2);\n  iVar10 = FUN_00038f20();\n  iVar11 = FUN_00038f20();\n  local_a0[0] = 0x14;\n  uVar27 = 1;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_00031660(&local_b0,uVar8);\n  FUN_0003b7e0(iVar10);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0xfffffffb);\n  FUN_00024e20(0xe);\n  FUN_00024e20(0xd);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  if (1 < DAT_00088960) {\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }\n  uVar27 = 1;\n  FUN_00024e20(0);\n  if (1 < DAT_0008896c) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }\nLAB_0001c228:\n  FUN_00024e20(0);\n  FUN_0003b7e0(iVar11);\n  puVar4 = PTR__bfd_std_section_0007ffb0;\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }\n  if (DAT_000897f0 != 0) {\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }\n  FUN_0003b7e0(iVar6);\n  if (!bVar33) {\n    return;\n  }\n  if (DAT_00088978 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_00036b20(".debug_info",0);\n  uVar9 = FUN_00036b20(".debug_abbrev",0);\n  uVar16 = FUN_00036b20(".debug_aranges",0);\n  iVar10 = FUN_00036b20(".debug_str",0);\n  bfd_set_section_flags(DAT_00089944,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);\n  iVar6 = DAT_00088950;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar27 = iVar6 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(uVar16,iVar6);\n  local_ec = *DAT_00088978;\n  if (local_ec == 0) goto LAB_0001c984;\n  local_ec = FUN_00036b20(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00089944,local_ec,0x2008);\n  uVar27 = DAT_00088950 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(local_ec,iVar6);\n  iVar6 = DAT_00088950;\n  FUN_00036b80(local_ec,0);\n  if (iVar6 == 0) {\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }\n  else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\nLAB_0001c984:\n  iVar11 = DAT_00088950;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a5e0();\n  auVar5 = local_a4;\n  uVar27 = local_a8;\n  iVar2 = local_b0;\n  uVar16 = FUN_00024b20(2);\n  FUN_000416b0(uVar16,2,0,2);\n  local_9c[0] = FUN_00036bd0(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_00031660(local_cc,uVar17);\n  uVar25 = 2 - uVar27;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024e20(iVar11);\n  FUN_00024e20(0);\n  uVar27 = uVar18 + 3;\n  iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar6 = iVar11 * 2;\n  uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);\n  piVar29 = DAT_00088978;\n  if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }\n  for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }\n  iVar6 = FUN_00024b20(iVar6);\n  FUN_000416b0(iVar6,0,0,iVar11);\n  FUN_000416b0(iVar6 + iVar11,0,0,iVar11);\n  FUN_0003b7e0(iVar2);\n  FUN_00036b80(uVar9,0);\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_0001a680();\n  FUN_0001a680();\n  if (*DAT_00088978 == 0) {\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_00036b80(iVar10,0);\n  uVar27 = FUN_00038f70();\n  if (DAT_0008896c != 0) {\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);\n}" primitive_type (function_declarator "FUN_0001be60(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  longlong lVar3;\n  undefined *puVar4;\n  undefined1 auVar5 [4];\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  char *pcVar12;\n  size_t sVar13;\n  void *pvVar14;\n  int iVar15;\n  undefined4 uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  int iVar22;\n  uint *puVar23;\n  byte *pbVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  uint uVar27;\n  byte *pbVar28;\n  int *piVar29;\n  int iVar30;\n  undefined4 *puVar31;\n  bool bVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  longlong lVar36;\n  undefined8 uVar37;\n  uint local_10c;\n  int local_108;\n  uint local_100;\n  int local_ec;\n  int local_e8;\n  int local_d0;\n  uint *local_cc;\n  int *local_c4;\n  int local_b0;\n  int local_ac;\n  uint local_a8;\n  undefined1 local_a4 [4];\n  undefined1 local_a0 [4];\n  uint local_9c [4];\n  undefined1 local_8c;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x1be6b;\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");\n  bVar33 = true;\n  if (iVar6 != 0) {\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");\n  if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be00("duplicate .debug_line sections");\n  }\n  if ((DAT_00088978 == (int *)0x0) && (bVar33)) {\n    return;\n  }\n  DAT_00088950 = FUN_00054100();\n  uVar7 = FUN_00036b20(".debug_line",0);\n  bfd_set_section_flags(DAT_00089944,uVar7,0x2008);\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }\n  uVar8 = FUN_0001a5e0();\n  iVar6 = local_b0;\n  uVar9 = FUN_00024b20(2);\n  FUN_000416b0(uVar9,2,0,2);\n  iVar10 = FUN_00038f20();\n  iVar11 = FUN_00038f20();\n  local_a0[0] = 0x14;\n  uVar27 = 1;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_00031660(&local_b0,uVar8);\n  FUN_0003b7e0(iVar10);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0xfffffffb);\n  FUN_00024e20(0xe);\n  FUN_00024e20(0xd);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  if (1 < DAT_00088960) {\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }\n  uVar27 = 1;\n  FUN_00024e20(0);\n  if (1 < DAT_0008896c) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }\nLAB_0001c228:\n  FUN_00024e20(0);\n  FUN_0003b7e0(iVar11);\n  puVar4 = PTR__bfd_std_section_0007ffb0;\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }\n  if (DAT_000897f0 != 0) {\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }\n  FUN_0003b7e0(iVar6);\n  if (!bVar33) {\n    return;\n  }\n  if (DAT_00088978 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_00036b20(".debug_info",0);\n  uVar9 = FUN_00036b20(".debug_abbrev",0);\n  uVar16 = FUN_00036b20(".debug_aranges",0);\n  iVar10 = FUN_00036b20(".debug_str",0);\n  bfd_set_section_flags(DAT_00089944,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);\n  iVar6 = DAT_00088950;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar27 = iVar6 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(uVar16,iVar6);\n  local_ec = *DAT_00088978;\n  if (local_ec == 0) goto LAB_0001c984;\n  local_ec = FUN_00036b20(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00089944,local_ec,0x2008);\n  uVar27 = DAT_00088950 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(local_ec,iVar6);\n  iVar6 = DAT_00088950;\n  FUN_00036b80(local_ec,0);\n  if (iVar6 == 0) {\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }\n  else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\nLAB_0001c984:\n  iVar11 = DAT_00088950;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a5e0();\n  auVar5 = local_a4;\n  uVar27 = local_a8;\n  iVar2 = local_b0;\n  uVar16 = FUN_00024b20(2);\n  FUN_000416b0(uVar16,2,0,2);\n  local_9c[0] = FUN_00036bd0(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_00031660(local_cc,uVar17);\n  uVar25 = 2 - uVar27;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024e20(iVar11);\n  FUN_00024e20(0);\n  uVar27 = uVar18 + 3;\n  iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar6 = iVar11 * 2;\n  uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);\n  piVar29 = DAT_00088978;\n  if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }\n  for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }\n  iVar6 = FUN_00024b20(iVar6);\n  FUN_000416b0(iVar6,0,0,iVar11);\n  FUN_000416b0(iVar6 + iVar11,0,0,iVar11);\n  FUN_0003b7e0(iVar2);\n  FUN_00036b80(uVar9,0);\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_0001a680();\n  FUN_0001a680();\n  if (*DAT_00088978 == 0) {\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_00036b80(iVar10,0);\n  uVar27 = FUN_00038f70();\n  if (DAT_0008896c != 0) {\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "longlong lVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined1 auVar5 [4];" type_identifier (array_declarator "auVar5 [4]" identifier [ number_literal ]) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "void *pvVar14;" primitive_type (pointer_declarator "*pvVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "uint *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "undefined4 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "byte *pbVar28;" type_identifier (pointer_declarator "*pbVar28" * identifier) ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "undefined4 *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "bool bVar33;" primitive_type identifier ;) (declaration "bool bVar34;" primitive_type identifier ;) (declaration "byte bVar35;" type_identifier identifier ;) (declaration "longlong lVar36;" type_identifier identifier ;) (declaration "undefined8 uVar37;" type_identifier identifier ;) (declaration "uint local_10c;" type_identifier identifier ;) (declaration "int local_108;" primitive_type identifier ;) (declaration "uint local_100;" type_identifier identifier ;) (declaration "int local_ec;" primitive_type identifier ;) (declaration "int local_e8;" primitive_type identifier ;) (declaration "int local_d0;" primitive_type identifier ;) (declaration "uint *local_cc;" type_identifier (pointer_declarator "*local_cc" * identifier) ;) (declaration "int *local_c4;" primitive_type (pointer_declarator "*local_c4" * identifier) ;) (declaration "int local_b0;" primitive_type identifier ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "uint local_a8;" type_identifier identifier ;) (declaration "undefined1 local_a4 [4];" type_identifier (array_declarator "local_a4 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_a0 [4];" type_identifier (array_declarator "local_a0 [4]" identifier [ number_literal ]) ;) (declaration "uint local_9c [4];" type_identifier (array_declarator "local_9c [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_8c;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x1be6b;" (assignment_expression "uStack_14 = 0x1be6b" identifier = number_literal) ;) (expression_statement "iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");" (assignment_expression "iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info")" identifier = (call_expression "bfd_get_section_by_name(DAT_00089944,".debug_info")" identifier (argument_list "(DAT_00089944,".debug_info")" ( identifier , (string_literal "".debug_info"" " string_content ") )))) ;) (expression_statement "bVar33 = true;" (assignment_expression "bVar33 = true" identifier = true) ;) (if_statement "if (iVar6 != 0) {\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }" { (expression_statement "iVar6 = FUN_00036d50(iVar6);" (assignment_expression "iVar6 = FUN_00036d50(iVar6)" identifier = (call_expression "FUN_00036d50(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "bVar33 = iVar6 == 0;" (assignment_expression "bVar33 = iVar6 == 0" identifier = (binary_expression "iVar6 == 0" identifier == number_literal)) ;) })) (expression_statement "iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");" (assignment_expression "iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line")" identifier = (call_expression "bfd_get_section_by_name(DAT_00089944,".debug_line")" identifier (argument_list "(DAT_00089944,".debug_line")" ( identifier , (string_literal "".debug_line"" " string_content ") )))) ;) (if_statement "if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be00("duplicate .debug_line sections");\n  }" if (parenthesized_expression "((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0))" ( (binary_expression "(iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar6 = FUN_00036d50(iVar6), iVar6 != 0)" ( (comma_expression "iVar6 = FUN_00036d50(iVar6), iVar6 != 0" (assignment_expression "iVar6 = FUN_00036d50(iVar6)" identifier = (call_expression "FUN_00036d50(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be00("duplicate .debug_line sections");\n  }" { (if_statement "if (DAT_00088978 == (int *)0x0) {\n      return;\n    }" if (parenthesized_expression "(DAT_00088978 == (int *)0x0)" ( (binary_expression "DAT_00088978 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) comment (expression_statement "FUN_0002be00("duplicate .debug_line sections");" (call_expression "FUN_0002be00("duplicate .debug_line sections")" identifier (argument_list "("duplicate .debug_line sections")" ( (string_literal ""duplicate .debug_line sections"" " string_content ") ))) ;) })) (if_statement "if ((DAT_00088978 == (int *)0x0) && (bVar33)) {\n    return;\n  }" if (parenthesized_expression "((DAT_00088978 == (int *)0x0) && (bVar33))" ( (binary_expression "(DAT_00088978 == (int *)0x0) && (bVar33)" (parenthesized_expression "(DAT_00088978 == (int *)0x0)" ( (binary_expression "DAT_00088978 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar33)" ( identifier ))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "DAT_00088950 = FUN_00054100();" (assignment_expression "DAT_00088950 = FUN_00054100()" identifier = (call_expression "FUN_00054100()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = FUN_00036b20(".debug_line",0);" (assignment_expression "uVar7 = FUN_00036b20(".debug_line",0)" identifier = (call_expression "FUN_00036b20(".debug_line",0)" identifier (argument_list "(".debug_line",0)" ( (string_literal "".debug_line"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(DAT_00089944,uVar7,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,uVar7,0x2008)" identifier (argument_list "(DAT_00089944,uVar7,0x2008)" ( identifier , identifier , number_literal ))) ;) (for_statement "for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }" for ( (assignment_expression "piVar29 = DAT_00088978" identifier = identifier) ; (binary_expression "piVar29 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar29 = (int *)*piVar29" identifier = (cast_expression "(int *)*piVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ) (compound_statement "{\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }" { (expression_statement "puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];" (assignment_expression "puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3]" identifier = (cast_expression "(undefined4 *)((undefined4 *)piVar29[2])[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((undefined4 *)piVar29[2])[3]" (parenthesized_expression "((undefined4 *)piVar29[2])" ( (cast_expression "(undefined4 *)piVar29[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[2]" identifier [ number_literal ])) )) [ number_literal ]))) ;) (for_statement "for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }" for ( (assignment_expression "puVar31 = *(undefined4 **)piVar29[2]" identifier = (pointer_expression "*(undefined4 **)piVar29[2]" * (cast_expression "(undefined4 **)piVar29[2]" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar29[2]" identifier [ number_literal ])))) ; (binary_expression "puVar31 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar31 = (undefined4 *)*puVar31" identifier = (cast_expression "(undefined4 *)*puVar31" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar31" * identifier))) ) (compound_statement "{\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }" { (expression_statement "*puVar26 = puVar31[2];" (assignment_expression "*puVar26 = puVar31[2]" (pointer_expression "*puVar26" * identifier) = (subscript_expression "puVar31[2]" identifier [ number_literal ])) ;) (expression_statement "puVar26 = (undefined4 *)puVar31[3];" (assignment_expression "puVar26 = (undefined4 *)puVar31[3]" identifier = (cast_expression "(undefined4 *)puVar31[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar31[3]" identifier [ number_literal ]))) ;) })) })) (expression_statement "uVar8 = FUN_0001a5e0();" (assignment_expression "uVar8 = FUN_0001a5e0()" identifier = (call_expression "FUN_0001a5e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = local_b0;" (assignment_expression "iVar6 = local_b0" identifier = identifier) ;) (expression_statement "uVar9 = FUN_00024b20(2);" (assignment_expression "uVar9 = FUN_00024b20(2)" identifier = (call_expression "FUN_00024b20(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_000416b0(uVar9,2,0,2);" (call_expression "FUN_000416b0(uVar9,2,0,2)" identifier (argument_list "(uVar9,2,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "iVar10 = FUN_00038f20();" (assignment_expression "iVar10 = FUN_00038f20()" identifier = (call_expression "FUN_00038f20()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar11 = FUN_00038f20();" (assignment_expression "iVar11 = FUN_00038f20()" identifier = (call_expression "FUN_00038f20()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_a0[0] = 0x14;" (assignment_expression "local_a0[0] = 0x14" (subscript_expression "local_a0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" identifier = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (expression_statement "local_b0 = iVar11;" (assignment_expression "local_b0 = iVar11" identifier = identifier) ;) (expression_statement "local_ac = iVar10;" (assignment_expression "local_ac = iVar10" identifier = identifier) ;) (expression_statement "FUN_00031660(&local_b0,uVar8);" (call_expression "FUN_00031660(&local_b0,uVar8)" identifier (argument_list "(&local_b0,uVar8)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) (expression_statement "FUN_0003b7e0(iVar10);" (call_expression "FUN_0003b7e0(iVar10)" identifier (argument_list "(iVar10)" ( identifier ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0xfffffffb);" (call_expression "FUN_00024e20(0xfffffffb)" identifier (argument_list "(0xfffffffb)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0xe);" (call_expression "FUN_00024e20(0xe)" identifier (argument_list "(0xe)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0xd);" (call_expression "FUN_00024e20(0xd)" identifier (argument_list "(0xd)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (if_statement "if (1 < DAT_00088960) {\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }" if (parenthesized_expression "(1 < DAT_00088960)" ( (binary_expression "1 < DAT_00088960" number_literal < identifier) )) (compound_statement "{\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }" { (do_statement "do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);" do (compound_statement "{\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    }" { (expression_statement "iVar10 = uVar27 * 4;" (assignment_expression "iVar10 = uVar27 * 4" identifier = (binary_expression "uVar27 * 4" identifier * number_literal)) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));" (assignment_expression "pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10))" identifier = (cast_expression "(char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10))" identifier (argument_list "(*(undefined4 *)(DAT_00088964 + iVar10))" ( (pointer_expression "*(undefined4 *)(DAT_00088964 + iVar10)" * (cast_expression "(undefined4 *)(DAT_00088964 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088964 + iVar10)" ( (binary_expression "DAT_00088964 + iVar10" identifier + identifier) )))) ))))) ;) (expression_statement "sVar13 = strlen(pcVar12);" (assignment_expression "sVar13 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "memcpy(pvVar14,pcVar12,sVar13 + 1);" (call_expression "memcpy(pvVar14,pcVar12,sVar13 + 1)" identifier (argument_list "(pvVar14,pcVar12,sVar13 + 1)" ( identifier , identifier , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(uVar27 < DAT_00088960)" ( (binary_expression "uVar27 < DAT_00088960" identifier < identifier) )) ;) })) (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" identifier = number_literal) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (if_statement "if (1 < DAT_0008896c) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }" if (parenthesized_expression "(1 < DAT_0008896c)" ( (binary_expression "1 < DAT_0008896c" number_literal < identifier) )) (compound_statement "{\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }" { (do_statement "do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);" do (compound_statement "{\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    }" { (while_statement "while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }" while (parenthesized_expression "(pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0)" ( (comma_expression "pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0" (assignment_expression "pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8)" identifier = (pointer_expression "*(char **)(DAT_00088970 + uVar27 * 8)" * (cast_expression "(char **)(DAT_00088970 + uVar27 * 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00088970 + uVar27 * 8)" ( (binary_expression "DAT_00088970 + uVar27 * 8" identifier + (binary_expression "uVar27 * 8" identifier * number_literal)) ))))) , (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }" { (expression_statement "sVar13 = strlen(pcVar12);" (assignment_expression "sVar13 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "memcpy(pvVar14,pcVar12,sVar13 + 1);" (call_expression "memcpy(pvVar14,pcVar12,sVar13 + 1)" identifier (argument_list "(pvVar14,pcVar12,sVar13 + 1)" ( identifier , identifier , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_0008896c <= uVar27) goto LAB_0001c228;" if (parenthesized_expression "(DAT_0008896c <= uVar27)" ( (binary_expression "DAT_0008896c <= uVar27" identifier <= identifier) )) (goto_statement "goto LAB_0001c228;" goto statement_identifier ;)) })) (expression_statement "uVar8 = dcgettext(0,"unassigned file number %ld",5);" (assignment_expression "uVar8 = dcgettext(0,"unassigned file number %ld",5)" identifier = (call_expression "dcgettext(0,"unassigned file number %ld",5)" identifier (argument_list "(0,"unassigned file number %ld",5)" ( number_literal , (string_literal ""unassigned file number %ld"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar8,uVar27);" (call_expression "FUN_0002bd60(uVar8,uVar27)" identifier (argument_list "(uVar8,uVar27)" ( identifier , identifier ))) ;) (expression_statement "*(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;" (assignment_expression "*(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05" (pointer_expression "*(undefined **)(DAT_00088970 + uVar27 * 8)" * (cast_expression "(undefined **)(DAT_00088970 + uVar27 * 8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00088970 + uVar27 * 8)" ( (binary_expression "DAT_00088970 + uVar27 * 8" identifier + (binary_expression "uVar27 * 8" identifier * number_literal)) )))) = (pointer_expression "&DAT_0005db05" & identifier)) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar27 < DAT_0008896c)" ( (binary_expression "uVar27 < DAT_0008896c" identifier < identifier) )) ;) })) (labeled_statement "LAB_0001c228:\n  FUN_00024e20(0);" statement_identifier : (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "FUN_0003b7e0(iVar11);" (call_expression "FUN_0003b7e0(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;) (expression_statement "puVar4 = PTR__bfd_std_section_0007ffb0;" (assignment_expression "puVar4 = PTR__bfd_std_section_0007ffb0" identifier = identifier) ;) (for_statement "for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }" for ( (assignment_expression "piVar29 = DAT_00088978" identifier = identifier) ; (binary_expression "piVar29 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar29 = (int *)*piVar29" identifier = (cast_expression "(int *)*piVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ) (compound_statement "{\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }" { (expression_statement "puVar26 = (undefined4 *)piVar29[1];" (assignment_expression "puVar26 = (undefined4 *)piVar29[1]" identifier = (cast_expression "(undefined4 *)piVar29[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[1]" identifier [ number_literal ]))) ;) (if_statement "if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }" if (parenthesized_expression "((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720))" ( (binary_expression "(((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)" (parenthesized_expression "(((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec))" ( (binary_expression "((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)" (parenthesized_expression "((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))" ( (binary_expression "(puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180))" (parenthesized_expression "(puVar26 == (undefined4 *)(puVar4 + 0xc0))" ( (binary_expression "puVar26 == (undefined4 *)(puVar4 + 0xc0)" identifier == (cast_expression "(undefined4 *)(puVar4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0xc0)" ( (binary_expression "puVar4 + 0xc0" identifier + number_literal) )))) )) || (parenthesized_expression "(puVar26 == (undefined4 *)(puVar4 + 0x180))" ( (binary_expression "puVar26 == (undefined4 *)(puVar4 + 0x180)" identifier == (cast_expression "(undefined4 *)(puVar4 + 0x180)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x180)" ( (binary_expression "puVar4 + 0x180" identifier + number_literal) )))) ))) )) || (parenthesized_expression "(puVar26 == DAT_000897ec)" ( (binary_expression "puVar26 == DAT_000897ec" identifier == identifier) ))) )) || (parenthesized_expression "(puVar26 == DAT_00089720)" ( (binary_expression "puVar26 == DAT_00089720" identifier == identifier) ))) )) (compound_statement "{\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }" { (expression_statement "FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);" (call_expression "FUN_0002bc80("dwarf line number information for %s ignored",*puVar26)" identifier (argument_list "("dwarf line number information for %s ignored",*puVar26)" ( (string_literal ""dwarf line number information for %s ignored"" " string_content ") , (pointer_expression "*puVar26" * identifier) ))) ;) }) (else_clause "else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }" else (compound_statement "{\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }" { (expression_statement "local_c4 = *(int **)(piVar29[2] + 8);" (assignment_expression "local_c4 = *(int **)(piVar29[2] + 8)" identifier = (pointer_expression "*(int **)(piVar29[2] + 8)" * (cast_expression "(int **)(piVar29[2] + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[2] + 8)" ( (binary_expression "piVar29[2] + 8" (subscript_expression "piVar29[2]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "bVar32 = false;" (assignment_expression "bVar32 = false" identifier = false) ;) (expression_statement "bVar34 = DAT_000897f0 == 0;" (assignment_expression "bVar34 = DAT_000897f0 == 0" identifier = (binary_expression "DAT_000897f0 == 0" identifier == number_literal)) ;) (if_statement "if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (compound_statement "{\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }" { (expression_statement "iVar10 = 6;" (assignment_expression "iVar10 = 6" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)*puVar26;" (assignment_expression "pbVar24 = (byte *)*puVar26" identifier = (cast_expression "(byte *)*puVar26" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ;) (expression_statement "pbVar28 = (byte *)".text";" (assignment_expression "pbVar28 = (byte *)".text"" identifier = (cast_expression "(byte *)".text"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".text"" " string_content "))) ;) (do_statement "do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);" do (compound_statement "{\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar32 = *pbVar24 < *pbVar28;" (assignment_expression "bVar32 = *pbVar24 < *pbVar28" identifier = (binary_expression "*pbVar24 < *pbVar28" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar28" * identifier))) ;) (expression_statement "bVar34 = *pbVar24 == *pbVar28;" (assignment_expression "bVar34 = *pbVar24 == *pbVar28" identifier = (binary_expression "*pbVar24 == *pbVar28" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar28" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar28 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar28 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (expression_statement "pcVar12 = ".debug_line";" (assignment_expression "pcVar12 = ".debug_line"" identifier = (string_literal "".debug_line"" " string_content ")) ;) (if_statement "if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }" if (parenthesized_expression "((!bVar32 && !bVar34) != bVar32)" ( (binary_expression "(!bVar32 && !bVar34) != bVar32" (parenthesized_expression "(!bVar32 && !bVar34)" ( (binary_expression "!bVar32 && !bVar34" (unary_expression "!bVar32" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) != identifier) )) (compound_statement "{\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }" { (expression_statement "pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);" (assignment_expression "pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0)" identifier = (cast_expression "(char *)concat(".debug_line",(byte *)*puVar26,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(".debug_line",(byte *)*puVar26,0)" identifier (argument_list "(".debug_line",(byte *)*puVar26,0)" ( (string_literal "".debug_line"" " string_content ") , (cast_expression "(byte *)*puVar26" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier)) , number_literal ))))) ;) })) (expression_statement "uVar8 = FUN_00036a60(pcVar12,0);" (assignment_expression "uVar8 = FUN_00036a60(pcVar12,0)" identifier = (call_expression "FUN_00036a60(pcVar12,0)" identifier (argument_list "(pcVar12,0)" ( identifier , number_literal )))) ;) (expression_statement "FUN_00036b80(uVar8,0);" (call_expression "FUN_00036b80(uVar8,0)" identifier (argument_list "(uVar8,0)" ( identifier , number_literal ))) ;) })) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (expression_statement "local_100 = 1;" (assignment_expression "local_100 = 1" identifier = number_literal) ;) (expression_statement "local_e8 = 1;" (assignment_expression "local_e8 = 1" identifier = number_literal) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "lVar3 = 0;" (assignment_expression "lVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);" do (compound_statement "{\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      }" { (expression_statement "local_108 = (int)((ulonglong)lVar3 >> 0x20);" (assignment_expression "local_108 = (int)((ulonglong)lVar3 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar3 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar3 >> 0x20)" ( (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_10c = (uint)lVar3;" (assignment_expression "local_10c = (uint)lVar3" identifier = (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar2 = local_c4[2];" (assignment_expression "iVar2 = local_c4[2]" identifier = (subscript_expression "local_c4[2]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }" if (parenthesized_expression "(iVar2 != local_e8)" ( (binary_expression "iVar2 != local_e8" identifier != identifier) )) (compound_statement "{\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }" { (expression_statement "FUN_00024e20(4);" (call_expression "FUN_00024e20(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar30 = local_c4[4];" (assignment_expression "iVar30 = local_c4[4]" identifier = (subscript_expression "local_c4[4]" identifier [ number_literal ])) ;) (if_statement "if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }" if (parenthesized_expression "(iVar30 != iVar10)" ( (binary_expression "iVar30 != iVar10" identifier != identifier) )) (compound_statement "{\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }" { (expression_statement "FUN_00024e20(5);" (call_expression "FUN_00024e20(5)" identifier (argument_list "(5)" ( number_literal ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }" if (parenthesized_expression "(local_c4[7] != 0)" ( (binary_expression "local_c4[7] != 0" (subscript_expression "local_c4[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }" { (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar10 = FUN_00031e30(local_c4[7],0,0);" (assignment_expression "iVar10 = FUN_00031e30(local_c4[7],0,0)" identifier = (call_expression "FUN_00031e30(local_c4[7],0,0)" identifier (argument_list "(local_c4[7],0,0)" ( (subscript_expression "local_c4[7]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (expression_statement "uVar8 = FUN_00031e30(iVar10 + 1,0,1);" (assignment_expression "uVar8 = FUN_00031e30(iVar10 + 1,0,1)" identifier = (call_expression "FUN_00031e30(iVar10 + 1,0,1)" identifier (argument_list "(iVar10 + 1,0,1)" ( (binary_expression "iVar10 + 1" identifier + number_literal) , number_literal , number_literal )))) ;) (expression_statement "uVar8 = FUN_00024b20(uVar8);" (assignment_expression "uVar8 = FUN_00024b20(uVar8)" identifier = (call_expression "FUN_00024b20(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "FUN_00031e70(uVar8,iVar10 + 1,0,1);" (call_expression "FUN_00031e70(uVar8,iVar10 + 1,0,1)" identifier (argument_list "(uVar8,iVar10 + 1,0,1)" ( identifier , (binary_expression "iVar10 + 1" identifier + number_literal) , number_literal , number_literal ))) ;) (expression_statement "FUN_00024e20(4);" (call_expression "FUN_00024e20(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar21 = local_c4[5];" (assignment_expression "iVar21 = local_c4[5]" identifier = (subscript_expression "local_c4[5]" identifier [ number_literal ])) ;) (if_statement "if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }" if (parenthesized_expression "(iVar21 != iVar11)" ( (binary_expression "iVar21 != iVar11" identifier != identifier) )) (compound_statement "{\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }" { (expression_statement "FUN_00024e20(0xc);" (call_expression "FUN_00024e20(0xc)" identifier (argument_list "(0xc)" ( number_literal ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar27 = local_c4[6];" (assignment_expression "uVar27 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = uVar27;" (assignment_expression "uVar17 = uVar27" identifier = identifier) ;) (if_statement "if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }" if (parenthesized_expression "(((local_100 ^ uVar27) & 1) != 0)" ( (binary_expression "((local_100 ^ uVar27) & 1) != 0" (parenthesized_expression "((local_100 ^ uVar27) & 1)" ( (binary_expression "(local_100 ^ uVar27) & 1" (parenthesized_expression "(local_100 ^ uVar27)" ( (binary_expression "local_100 ^ uVar27" identifier ^ identifier) )) & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }" { (expression_statement "FUN_00024e20(6);" (call_expression "FUN_00024e20(6)" identifier (argument_list "(6)" ( number_literal ))) ;) (expression_statement "uVar17 = local_c4[6];" (assignment_expression "uVar17 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) (expression_statement "local_100 = uVar27;" (assignment_expression "local_100 = uVar27" identifier = identifier) ;) })) (if_statement "if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }" if (parenthesized_expression "((uVar17 & 2) != 0)" ( (binary_expression "(uVar17 & 2) != 0" (parenthesized_expression "(uVar17 & 2)" ( (binary_expression "uVar17 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }" { (expression_statement "FUN_00024e20(7);" (call_expression "FUN_00024e20(7)" identifier (argument_list "(7)" ( number_literal ))) ;) (expression_statement "uVar17 = local_c4[6];" (assignment_expression "uVar17 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) })) (if_statement "if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }" if (parenthesized_expression "((uVar17 & 4) != 0)" ( (binary_expression "(uVar17 & 4) != 0" (parenthesized_expression "(uVar17 & 4)" ( (binary_expression "uVar17 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }" { (expression_statement "FUN_00024e20(10);" (call_expression "FUN_00024e20(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "uVar17 = local_c4[6];" (assignment_expression "uVar17 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) })) (if_statement "if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }" if (parenthesized_expression "((uVar17 & 8) != 0)" ( (binary_expression "(uVar17 & 8) != 0" (parenthesized_expression "(uVar17 & 8)" ( (binary_expression "uVar17 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024e20(0xb);\n        }" { (expression_statement "FUN_00024e20(0xb);" (call_expression "FUN_00024e20(0xb)" identifier (argument_list "(0xb)" ( number_literal ))) ;) })) (expression_statement "uVar27 = local_c4[1];" (assignment_expression "uVar27 = local_c4[1]" identifier = (subscript_expression "local_c4[1]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = FUN_0003b830(uVar27);" (assignment_expression "iVar15 = FUN_0003b830(uVar27)" identifier = (call_expression "FUN_0003b830(uVar27)" identifier (argument_list "(uVar27)" ( identifier )))) ;) (expression_statement "lVar36 = FUN_0003a3c0(uVar27);" (assignment_expression "lVar36 = FUN_0003a3c0(uVar27)" identifier = (call_expression "FUN_0003a3c0(uVar27)" identifier (argument_list "(uVar27)" ( identifier )))) ;) (if_statement "if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }" if (parenthesized_expression "(local_d0 == 0)" ( (binary_expression "local_d0 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }" { (labeled_statement "LAB_0001d140:\n          FUN_00024e20(0);" statement_identifier : (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024e20(2);" (call_expression "FUN_00024e20(2)" identifier (argument_list "(2)" ( number_literal ))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[0] = uVar27;" (assignment_expression "local_9c[0] = uVar27" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00031660(local_9c,DAT_00088950);" (call_expression "FUN_00031660(local_9c,DAT_00088950)" identifier (argument_list "(local_9c,DAT_00088950)" ( identifier , identifier ))) ;) (expression_statement "FUN_0001ade0();" (call_expression "FUN_0001ade0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }" else (compound_statement "{\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }" { (if_statement "if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }" if (parenthesized_expression "((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0))" ( (binary_expression "(local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)" (parenthesized_expression "(local_c4[8] == DAT_00088958)" ( (binary_expression "local_c4[8] == DAT_00088958" (subscript_expression "local_c4[8]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "(DAT_00088958 != 0)" ( (binary_expression "DAT_00088958 != 0" identifier != number_literal) ))) )) (compound_statement "{\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }" { (if_statement "if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;" if (parenthesized_expression "(iVar15 == local_d0)" ( (binary_expression "iVar15 == local_d0" identifier == identifier) )) (compound_statement "{\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }" { (if_statement "if (lVar36 != lVar3) goto LAB_0001c468;" if (parenthesized_expression "(lVar36 != lVar3)" ( (binary_expression "lVar36 != lVar3" identifier != identifier) )) (goto_statement "goto LAB_0001c468;" goto statement_identifier ;)) }) (else_clause "else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;" else (if_statement "if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;" if (parenthesized_expression "((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0))" ( (binary_expression "(lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)" (parenthesized_expression "(lVar36 != 0)" ( (binary_expression "lVar36 != 0" identifier != number_literal) )) || (parenthesized_expression "(uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)" ( (comma_expression "uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (assignment_expression "uVar37 = FUN_0001a6c0()" identifier = (call_expression "FUN_0001a6c0()" identifier (argument_list "()" ( )))) , (comma_expression "iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (assignment_expression "iVar11 = (int)((ulonglong)uVar37 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar37 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar37 >> 0x20)" ( (binary_expression "(ulonglong)uVar37 >> 0x20" (cast_expression "(ulonglong)uVar37" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) , (comma_expression "uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (assignment_expression "uVar17 = (uint)(local_10c < (uint)uVar37)" identifier = (call_expression "(uint)(local_10c < (uint)uVar37)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_10c < (uint)uVar37)" ( (binary_expression "local_10c < (uint)uVar37" identifier < (cast_expression "(uint)uVar37" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (comma_expression "iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (assignment_expression "iVar10 = local_108 - iVar11" identifier = (binary_expression "local_108 - iVar11" identifier - identifier)) , (binary_expression "(SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (parenthesized_expression "(SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17))" ( (binary_expression "SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)" (call_expression "SBORROW4(local_108,iVar11)" identifier (argument_list "(local_108,iVar11)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar10,uVar17)" identifier (argument_list "(iVar10,uVar17)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar10 - uVar17) < 0" (cast_expression "(int)(iVar10 - uVar17)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar10 - uVar17)" ( (binary_expression "iVar10 - uVar17" identifier - identifier) ))) < number_literal)))))) ))) )) (goto_statement "goto LAB_0001c478;" goto statement_identifier ;)))) (goto_statement "goto LAB_0001d140;" goto statement_identifier ;) })) (if_statement "if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }" if (parenthesized_expression "(iVar15 == local_d0)" ( (binary_expression "iVar15 == local_d0" identifier == identifier) )) (compound_statement "{\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }" { (labeled_statement "LAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;" statement_identifier : (if_statement "if (DAT_00089740 != 0) goto LAB_0001c478;" if (parenthesized_expression "(DAT_00089740 != 0)" ( (binary_expression "DAT_00089740 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001c478;" goto statement_identifier ;))) (expression_statement "FUN_0001ade0();" (call_expression "FUN_0001ade0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }" else (compound_statement "{\nLAB_0001c478:\n            FUN_0001ae30();\n          }" { (labeled_statement "LAB_0001c478:\n            FUN_0001ae30();" statement_identifier : (expression_statement "FUN_0001ae30();" (call_expression "FUN_0001ae30()" identifier (argument_list "()" ( ))) ;)) }))) }))) (expression_statement "piVar1 = (int *)*local_c4;" (assignment_expression "piVar1 = (int *)*local_c4" identifier = (cast_expression "(int *)*local_c4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_c4" * identifier))) ;) (expression_statement "free(local_c4);" (call_expression "free(local_c4)" identifier (argument_list "(local_c4)" ( identifier ))) ;) (expression_statement "iVar10 = iVar30;" (assignment_expression "iVar10 = iVar30" identifier = identifier) ;) (expression_statement "iVar11 = iVar21;" (assignment_expression "iVar11 = iVar21" identifier = identifier) ;) (expression_statement "local_e8 = iVar2;" (assignment_expression "local_e8 = iVar2" identifier = identifier) ;) (expression_statement "local_d0 = iVar15;" (assignment_expression "local_d0 = iVar15" identifier = identifier) ;) (expression_statement "local_c4 = piVar1;" (assignment_expression "local_c4 = piVar1" identifier = identifier) ;) (expression_statement "lVar3 = lVar36;" (assignment_expression "lVar3 = lVar36" identifier = identifier) ;) }) while (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "iVar10 = *(int *)puVar26[0x20];" (assignment_expression "iVar10 = *(int *)puVar26[0x20]" identifier = (pointer_expression "*(int *)puVar26[0x20]" * (cast_expression "(int *)puVar26[0x20]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0x20]" identifier [ number_literal ])))) ;) (do_statement "do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);" do (compound_statement "{\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      }" { (expression_statement "iVar11 = iVar10;" (assignment_expression "iVar11 = iVar10" identifier = identifier) ;) (expression_statement "iVar10 = *(int *)(iVar11 + 8);" (assignment_expression "iVar10 = *(int *)(iVar11 + 8)" identifier = (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) ;) (expression_statement "iVar10 = *(int *)(iVar11 + 4);" (assignment_expression "iVar10 = *(int *)(iVar11 + 4)" identifier = (pointer_expression "*(int *)(iVar11 + 4)" * (cast_expression "(int *)(iVar11 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar37 = FUN_0001a6c0();" (assignment_expression "uVar37 = FUN_0001a6c0()" identifier = (call_expression "FUN_0001a6c0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }" if (parenthesized_expression "((iVar15 == iVar10) && (DAT_00089740 == 0))" ( (binary_expression "(iVar15 == iVar10) && (DAT_00089740 == 0)" (parenthesized_expression "(iVar15 == iVar10)" ( (binary_expression "iVar15 == iVar10" identifier == identifier) )) && (parenthesized_expression "(DAT_00089740 == 0)" ( (binary_expression "DAT_00089740 == 0" identifier == number_literal) ))) )) (compound_statement "{\n        FUN_0001ade0();\n      }" { (expression_statement "FUN_0001ade0();" (call_expression "FUN_0001ade0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }" else (compound_statement "{\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }" { (expression_statement "FUN_00038f40(puVar26,uVar37,iVar10);" (call_expression "FUN_00038f40(puVar26,uVar37,iVar10)" identifier (argument_list "(puVar26,uVar37,iVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0001ae30();" (call_expression "FUN_0001ae30()" identifier (argument_list "()" ( ))) ;) }))) }))) })) (if_statement "if (DAT_000897f0 != 0) {\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }" if (parenthesized_expression "(DAT_000897f0 != 0)" ( (binary_expression "DAT_000897f0 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }" { (expression_statement "uVar8 = FUN_00036a60(".debug_line_end",0);" (assignment_expression "uVar8 = FUN_00036a60(".debug_line_end",0)" identifier = (call_expression "FUN_00036a60(".debug_line_end",0)" identifier (argument_list "(".debug_line_end",0)" ( (string_literal "".debug_line_end"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00036b80(uVar8,0);" (call_expression "FUN_00036b80(uVar8,0)" identifier (argument_list "(uVar8,0)" ( identifier , number_literal ))) ;) })) (expression_statement "FUN_0003b7e0(iVar6);" (call_expression "FUN_0003b7e0(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (!bVar33) {\n    return;\n  }" if (parenthesized_expression "(!bVar33)" ( (unary_expression "!bVar33" ! identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_00088978 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }" if (parenthesized_expression "(DAT_00088978 == (int *)0x0)" ( (binary_expression "DAT_00088978 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }" { comment (expression_statement "FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);" (call_expression "FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX)" identifier (argument_list "("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX)" ( (string_literal ""../../gas/dwarf2dbg.c"" " string_content ") , number_literal , (string_literal ""dwarf2_finish"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar8 = FUN_00036b20(".debug_info",0);" (assignment_expression "uVar8 = FUN_00036b20(".debug_info",0)" identifier = (call_expression "FUN_00036b20(".debug_info",0)" identifier (argument_list "(".debug_info",0)" ( (string_literal "".debug_info"" " string_content ") , number_literal )))) ;) (expression_statement "uVar9 = FUN_00036b20(".debug_abbrev",0);" (assignment_expression "uVar9 = FUN_00036b20(".debug_abbrev",0)" identifier = (call_expression "FUN_00036b20(".debug_abbrev",0)" identifier (argument_list "(".debug_abbrev",0)" ( (string_literal "".debug_abbrev"" " string_content ") , number_literal )))) ;) (expression_statement "uVar16 = FUN_00036b20(".debug_aranges",0);" (assignment_expression "uVar16 = FUN_00036b20(".debug_aranges",0)" identifier = (call_expression "FUN_00036b20(".debug_aranges",0)" identifier (argument_list "(".debug_aranges",0)" ( (string_literal "".debug_aranges"" " string_content ") , number_literal )))) ;) (expression_statement "iVar10 = FUN_00036b20(".debug_str",0);" (assignment_expression "iVar10 = FUN_00036b20(".debug_str",0)" identifier = (call_expression "FUN_00036b20(".debug_str",0)" identifier (argument_list "(".debug_str",0)" ( (string_literal "".debug_str"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(DAT_00089944,uVar8,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,uVar8,0x2008)" identifier (argument_list "(DAT_00089944,uVar8,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(DAT_00089944,uVar9,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,uVar9,0x2008)" identifier (argument_list "(DAT_00089944,uVar9,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(DAT_00089944,uVar16,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,uVar16,0x2008)" identifier (argument_list "(DAT_00089944,uVar16,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);" (call_expression "bfd_set_section_flags(DAT_00089944,iVar10,0x1802008)" identifier (argument_list "(DAT_00089944,iVar10,0x1802008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar6 = DAT_00088950;" (assignment_expression "iVar6 = DAT_00088950" identifier = identifier) ;) (expression_statement "*(undefined4 *)(iVar10 + 0x90) = 1;" (assignment_expression "*(undefined4 *)(iVar10 + 0x90) = 1" (pointer_expression "*(undefined4 *)(iVar10 + 0x90)" * (cast_expression "(undefined4 *)(iVar10 + 0x90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x90)" ( (binary_expression "iVar10 + 0x90" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar27 = iVar6 * 2;" (assignment_expression "uVar27 = iVar6 * 2" identifier = (binary_expression "iVar6 * 2" identifier * number_literal)) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }" { (for_statement "for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }" for ( ; (binary_expression "(uVar27 >> iVar6 & 1) == 0" (parenthesized_expression "(uVar27 >> iVar6 & 1)" ( (binary_expression "uVar27 >> iVar6 & 1" (binary_expression "uVar27 >> iVar6" identifier >> identifier) & number_literal) )) == number_literal) ; (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ) (compound_statement "{\n    }" { })) })) (if_statement "if (uVar27 == 0) {\n    iVar6 = -1;\n  }" if (parenthesized_expression "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar6 = -1;\n  }" { (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) })) (expression_statement "FUN_0003f680(uVar16,iVar6);" (call_expression "FUN_0003f680(uVar16,iVar6)" identifier (argument_list "(uVar16,iVar6)" ( identifier , identifier ))) ;) (expression_statement "local_ec = *DAT_00088978;" (assignment_expression "local_ec = *DAT_00088978" identifier = (pointer_expression "*DAT_00088978" * identifier)) ;) (if_statement "if (local_ec == 0) goto LAB_0001c984;" if (parenthesized_expression "(local_ec == 0)" ( (binary_expression "local_ec == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c984;" goto statement_identifier ;)) (expression_statement "local_ec = FUN_00036b20(".debug_ranges",0);" (assignment_expression "local_ec = FUN_00036b20(".debug_ranges",0)" identifier = (call_expression "FUN_00036b20(".debug_ranges",0)" identifier (argument_list "(".debug_ranges",0)" ( (string_literal "".debug_ranges"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(DAT_00089944,local_ec,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,local_ec,0x2008)" identifier (argument_list "(DAT_00089944,local_ec,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar27 = DAT_00088950 * 2;" (assignment_expression "uVar27 = DAT_00088950 * 2" identifier = (binary_expression "DAT_00088950 * 2" identifier * number_literal)) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }" { (for_statement "for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }" for ( ; (binary_expression "(uVar27 >> iVar6 & 1) == 0" (parenthesized_expression "(uVar27 >> iVar6 & 1)" ( (binary_expression "uVar27 >> iVar6 & 1" (binary_expression "uVar27 >> iVar6" identifier >> identifier) & number_literal) )) == number_literal) ; (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ) (compound_statement "{\n    }" { })) })) (if_statement "if (uVar27 == 0) {\n    iVar6 = -1;\n  }" if (parenthesized_expression "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar6 = -1;\n  }" { (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) })) (expression_statement "FUN_0003f680(local_ec,iVar6);" (call_expression "FUN_0003f680(local_ec,iVar6)" identifier (argument_list "(local_ec,iVar6)" ( identifier , identifier ))) ;) (expression_statement "iVar6 = DAT_00088950;" (assignment_expression "iVar6 = DAT_00088950" identifier = identifier) ;) (expression_statement "FUN_00036b80(local_ec,0);" (call_expression "FUN_00036b80(local_ec,0)" identifier (argument_list "(local_ec,0)" ( identifier , number_literal ))) ;) (if_statement "if (iVar6 == 0) {\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }\n  else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }" { (if_statement "if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;" if (parenthesized_expression "(DAT_00088978 == (int *)0x0)" ( (binary_expression "DAT_00088978 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001c984;" goto statement_identifier ;)) (labeled_statement "LAB_0001c840:\n    piVar29 = DAT_00088978;" statement_identifier : (expression_statement "piVar29 = DAT_00088978;" (assignment_expression "piVar29 = DAT_00088978" identifier = identifier) ;)) (do_statement "do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);" do (compound_statement "{\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    }" { (expression_statement "uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));" (assignment_expression "uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" identifier = (call_expression "FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" identifier (argument_list "(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" ( (subscript_expression "piVar29[1]" identifier [ number_literal ]) , number_literal , number_literal , (pointer_expression "*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80)" * (cast_expression "(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(piVar29[1] + 0x80)" * (pointer_expression "*(undefined4 **)(piVar29[1] + 0x80)" * (cast_expression "(undefined4 **)(piVar29[1] + 0x80)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[1] + 0x80)" ( (binary_expression "piVar29[1] + 0x80" (subscript_expression "piVar29[1]" identifier [ number_literal ]) + number_literal) ))))))) )))) ;) (expression_statement "iVar11 = piVar29[1];" (assignment_expression "iVar11 = piVar29[1]" identifier = (subscript_expression "piVar29[1]" identifier [ number_literal ])) ;) (expression_statement "piVar29[3] = uVar27;" (assignment_expression "piVar29[3] = uVar27" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = **(int **)(iVar11 + 0x80);" (assignment_expression "iVar2 = **(int **)(iVar11 + 0x80)" identifier = (pointer_expression "**(int **)(iVar11 + 0x80)" * (pointer_expression "*(int **)(iVar11 + 0x80)" * (cast_expression "(int **)(iVar11 + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x80)" ( (binary_expression "iVar11 + 0x80" identifier + number_literal) )))))) ;) (do_statement "do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);" do (compound_statement "{\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      }" { (expression_statement "iVar30 = iVar2;" (assignment_expression "iVar30 = iVar2" identifier = identifier) ;) (expression_statement "iVar2 = *(int *)(iVar30 + 8);" (assignment_expression "iVar2 = *(int *)(iVar30 + 8)" identifier = (pointer_expression "*(int *)(iVar30 + 8)" * (cast_expression "(int *)(iVar30 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 8)" ( (binary_expression "iVar30 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar30 + 4);" (assignment_expression "uVar16 = *(undefined4 *)(iVar30 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar30 + 4)" * (cast_expression "(undefined4 *)(iVar30 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 4)" ( (binary_expression "iVar30 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar37 = FUN_0001a6c0();" (assignment_expression "uVar37 = FUN_0001a6c0()" identifier = (call_expression "FUN_0001a6c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);" (assignment_expression "uVar17 = FUN_00038f40(iVar11,uVar37,uVar16)" identifier = (call_expression "FUN_00038f40(iVar11,uVar37,uVar16)" identifier (argument_list "(iVar11,uVar37,uVar16)" ( identifier , identifier , identifier )))) ;) (expression_statement "piVar29[4] = uVar17;" (assignment_expression "piVar29[4] = uVar17" (subscript_expression "piVar29[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[0] = uVar27;" (assignment_expression "local_9c[0] = uVar27" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00031660(local_9c,iVar6);" (call_expression "FUN_00031660(local_9c,iVar6)" identifier (argument_list "(local_9c,iVar6)" ( identifier , identifier ))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[0] = uVar17;" (assignment_expression "local_9c[0] = uVar17" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00031660(local_9c,iVar6);" (call_expression "FUN_00031660(local_9c,iVar6)" identifier (argument_list "(local_9c,iVar6)" ( identifier , identifier ))) ;) (expression_statement "piVar29 = (int *)*piVar29;" (assignment_expression "piVar29 = (int *)*piVar29" identifier = (cast_expression "(int *)*piVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ;) }) while (parenthesized_expression "(piVar29 != (int *)0x0)" ( (binary_expression "piVar29 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (iVar6 == 0) goto LAB_0001c984;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c984;" goto statement_identifier ;)) }) (else_clause "else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }" else (compound_statement "{\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);" do (compound_statement "{\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    }" { (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024e20(0xff);" (call_expression "FUN_00024e20(0xff)" identifier (argument_list "(0xff)" ( number_literal ))) ;) }) while (parenthesized_expression "(iVar6 != iVar11)" ( (binary_expression "iVar6 != iVar11" identifier != identifier) )) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);" do (compound_statement "{\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    }" { (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(iVar6 != iVar11)" ( (binary_expression "iVar6 != iVar11" identifier != identifier) )) ;) (if_statement "if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;" if (parenthesized_expression "(DAT_00088978 != (int *)0x0)" ( (binary_expression "DAT_00088978 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001c840;" goto statement_identifier ;)) }))) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);" do (compound_statement "{\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  }" { (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(iVar6 != iVar11)" ( (binary_expression "iVar6 != iVar11" identifier != identifier) )) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);" do (compound_statement "{\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  }" { (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(iVar6 != iVar11)" ( (binary_expression "iVar6 != iVar11" identifier != identifier) )) ;) (labeled_statement "LAB_0001c984:\n  iVar11 = DAT_00088950;" statement_identifier : (expression_statement "iVar11 = DAT_00088950;" (assignment_expression "iVar11 = DAT_00088950" identifier = identifier) ;)) (expression_statement "local_cc = local_9c;" (assignment_expression "local_cc = local_9c" identifier = identifier) ;) (expression_statement "uVar17 = FUN_0001a5e0();" (assignment_expression "uVar17 = FUN_0001a5e0()" identifier = (call_expression "FUN_0001a5e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "auVar5 = local_a4;" (assignment_expression "auVar5 = local_a4" identifier = identifier) ;) (expression_statement "uVar27 = local_a8;" (assignment_expression "uVar27 = local_a8" identifier = identifier) ;) (expression_statement "iVar2 = local_b0;" (assignment_expression "iVar2 = local_b0" identifier = identifier) ;) (expression_statement "uVar16 = FUN_00024b20(2);" (assignment_expression "uVar16 = FUN_00024b20(2)" identifier = (call_expression "FUN_00024b20(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_000416b0(uVar16,2,0,2);" (call_expression "FUN_000416b0(uVar16,2,0,2)" identifier (argument_list "(uVar16,2,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_9c[0] = FUN_00036bd0(uVar8);" (assignment_expression "local_9c[0] = FUN_00036bd0(uVar8)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036bd0(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00031660(local_cc,uVar17);" (call_expression "FUN_00031660(local_cc,uVar17)" identifier (argument_list "(local_cc,uVar17)" ( identifier , identifier ))) ;) (expression_statement "uVar25 = 2 - uVar27;" (assignment_expression "uVar25 = 2 - uVar27" identifier = (binary_expression "2 - uVar27" number_literal - identifier)) ;) (expression_statement "uVar18 = uVar17 + uVar25;" (assignment_expression "uVar18 = uVar17 + uVar25" identifier = (binary_expression "uVar17 + uVar25" identifier + identifier)) ;) (expression_statement "iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)\n  ;" (assignment_expression "iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)" identifier = (binary_expression "((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)" (binary_expression "((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5)" (parenthesized_expression "((int)uVar17 >> 0x1f)" ( (binary_expression "(int)uVar17 >> 0x1f" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + (parenthesized_expression "(-(uint)(2 < uVar27) - (int)auVar5)" ( (binary_expression "-(uint)(2 < uVar27) - (int)auVar5" (unary_expression "-(uint)(2 < uVar27)" - (call_expression "(uint)(2 < uVar27)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(2 < uVar27)" ( (binary_expression "2 < uVar27" number_literal < identifier) )))) - (cast_expression "(int)auVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (cast_expression "(uint)CARRY4(uVar17,uVar25)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar17,uVar25)" identifier (argument_list "(uVar17,uVar25)" ( identifier , identifier )))))) ;) (expression_statement "FUN_00024e20(iVar11);" (call_expression "FUN_00024e20(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "uVar27 = uVar18 + 3;" (assignment_expression "uVar27 = uVar18 + 3" identifier = (binary_expression "uVar18 + 3" identifier + number_literal)) ;) (expression_statement "iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);" (assignment_expression "iVar30 = iVar21 + (uint)(0xfffffffc < uVar18)" identifier = (binary_expression "iVar21 + (uint)(0xfffffffc < uVar18)" identifier + (call_expression "(uint)(0xfffffffc < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffc < uVar18)" ( (binary_expression "0xfffffffc < uVar18" number_literal < identifier) ))))) ;) (expression_statement "iVar6 = iVar11 * 2;" (assignment_expression "iVar6 = iVar11 * 2" identifier = (binary_expression "iVar11 * 2" identifier * number_literal)) ;) (expression_statement "uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);" (assignment_expression "uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0)" identifier = (call_expression "FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0)" identifier (argument_list "(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0)" ( (binary_expression "uVar18 + 2" identifier + number_literal) , (binary_expression "iVar21 + (uint)(0xfffffffd < uVar18)" identifier + (call_expression "(uint)(0xfffffffd < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffd < uVar18)" ( (binary_expression "0xfffffffd < uVar18" number_literal < identifier) )))) , identifier , number_literal )))) ;) (expression_statement "piVar29 = DAT_00088978;" (assignment_expression "piVar29 = DAT_00088978" identifier = identifier) ;) (if_statement "if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }" if (parenthesized_expression "(-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0))" ( (binary_expression "-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)" (unary_expression "-(int)((ulonglong)uVar37 >> 0x20)" - (cast_expression "(int)((ulonglong)uVar37 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar37 >> 0x20)" ( (binary_expression "(ulonglong)uVar37 >> 0x20" (cast_expression "(ulonglong)uVar37" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) < (cast_expression "(int)(uint)((int)uVar37 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)uVar37 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar37 != 0)" ( (binary_expression "(int)uVar37 != 0" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))))) )) (compound_statement "{\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }" { (do_statement "do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));" do (compound_statement "{\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    }" { (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "bVar33 = 0xfffffffe < uVar27;" (assignment_expression "bVar33 = 0xfffffffe < uVar27" identifier = (binary_expression "0xfffffffe < uVar27" number_literal < identifier)) ;) (expression_statement "uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);" (assignment_expression "uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0)" identifier = (call_expression "FUN_00059b60(uVar27,iVar30,iVar6,0)" identifier (argument_list "(uVar27,iVar30,iVar6,0)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "iVar30 = iVar30 + (uint)bVar33;" (assignment_expression "iVar30 = iVar30 + (uint)bVar33" identifier = (binary_expression "iVar30 + (uint)bVar33" identifier + (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "piVar29 = DAT_00088978;" (assignment_expression "piVar29 = DAT_00088978" identifier = identifier) ;) }) while (parenthesized_expression "(-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0))" ( (binary_expression "-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)" (unary_expression "-(int)((ulonglong)uVar37 >> 0x20)" - (cast_expression "(int)((ulonglong)uVar37 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar37 >> 0x20)" ( (binary_expression "(ulonglong)uVar37 >> 0x20" (cast_expression "(ulonglong)uVar37" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) < (cast_expression "(int)(uint)((int)uVar37 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)uVar37 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar37 != 0)" ( (binary_expression "(int)uVar37 != 0" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))))) )) ;) })) (for_statement "for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }" for ( ; (binary_expression "piVar29 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar29 = (int *)*piVar29" identifier = (cast_expression "(int *)*piVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ) (compound_statement "{\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }" { (expression_statement "iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));" (assignment_expression "iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" identifier = (call_expression "FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" identifier (argument_list "(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" ( (subscript_expression "piVar29[1]" identifier [ number_literal ]) , number_literal , number_literal , (pointer_expression "*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80)" * (cast_expression "(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(piVar29[1] + 0x80)" * (pointer_expression "*(undefined4 **)(piVar29[1] + 0x80)" * (cast_expression "(undefined4 **)(piVar29[1] + 0x80)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[1] + 0x80)" ( (binary_expression "piVar29[1] + 0x80" (subscript_expression "piVar29[1]" identifier [ number_literal ]) + number_literal) ))))))) )))) ;) (expression_statement "iVar30 = piVar29[1];" (assignment_expression "iVar30 = piVar29[1]" identifier = (subscript_expression "piVar29[1]" identifier [ number_literal ])) ;) (expression_statement "piVar29[3] = iVar15;" (assignment_expression "piVar29[3] = iVar15" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar21 = **(int **)(iVar30 + 0x80);" (assignment_expression "iVar21 = **(int **)(iVar30 + 0x80)" identifier = (pointer_expression "**(int **)(iVar30 + 0x80)" * (pointer_expression "*(int **)(iVar30 + 0x80)" * (cast_expression "(int **)(iVar30 + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar30 + 0x80)" ( (binary_expression "iVar30 + 0x80" identifier + number_literal) )))))) ;) (do_statement "do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);" do (compound_statement "{\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    }" { (expression_statement "iVar22 = iVar21;" (assignment_expression "iVar22 = iVar21" identifier = identifier) ;) (expression_statement "iVar21 = *(int *)(iVar22 + 8);" (assignment_expression "iVar21 = *(int *)(iVar22 + 8)" identifier = (pointer_expression "*(int *)(iVar22 + 8)" * (cast_expression "(int *)(iVar22 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 8)" ( (binary_expression "iVar22 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) ;) (expression_statement "uVar8 = *(undefined4 *)(iVar22 + 4);" (assignment_expression "uVar8 = *(undefined4 *)(iVar22 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar22 + 4)" * (cast_expression "(undefined4 *)(iVar22 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 4)" ( (binary_expression "iVar22 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar37 = FUN_0001a6c0();" (assignment_expression "uVar37 = FUN_0001a6c0()" identifier = (call_expression "FUN_0001a6c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);" (assignment_expression "iVar30 = FUN_00038f40(iVar30,uVar37,uVar8)" identifier = (call_expression "FUN_00038f40(iVar30,uVar37,uVar8)" identifier (argument_list "(iVar30,uVar37,uVar8)" ( identifier , identifier , identifier )))) ;) (expression_statement "piVar29[4] = iVar30;" (assignment_expression "piVar29[4] = iVar30" (subscript_expression "piVar29[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_a0[0] = 3;" (assignment_expression "local_a0[0] = 3" (subscript_expression "local_a0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (expression_statement "local_b0 = iVar15;" (assignment_expression "local_b0 = iVar15" identifier = identifier) ;) (expression_statement "FUN_00031660(&local_b0,iVar11);" (call_expression "FUN_00031660(&local_b0,iVar11)" identifier (argument_list "(&local_b0,iVar11)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) (expression_statement "local_a0[0] = 0x14;" (assignment_expression "local_a0[0] = 0x14" (subscript_expression "local_a0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (expression_statement "local_b0 = iVar30;" (assignment_expression "local_b0 = iVar30" identifier = identifier) ;) (expression_statement "local_ac = iVar15;" (assignment_expression "local_ac = iVar15" identifier = identifier) ;) (expression_statement "FUN_00031660(&local_b0,iVar11);" (call_expression "FUN_00031660(&local_b0,iVar11)" identifier (argument_list "(&local_b0,iVar11)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) })) (expression_statement "iVar6 = FUN_00024b20(iVar6);" (assignment_expression "iVar6 = FUN_00024b20(iVar6)" identifier = (call_expression "FUN_00024b20(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "FUN_000416b0(iVar6,0,0,iVar11);" (call_expression "FUN_000416b0(iVar6,0,0,iVar11)" identifier (argument_list "(iVar6,0,0,iVar11)" ( identifier , number_literal , number_literal , identifier ))) ;) (expression_statement "FUN_000416b0(iVar6 + iVar11,0,0,iVar11);" (call_expression "FUN_000416b0(iVar6 + iVar11,0,0,iVar11)" identifier (argument_list "(iVar6 + iVar11,0,0,iVar11)" ( (binary_expression "iVar6 + iVar11" identifier + identifier) , number_literal , number_literal , identifier ))) ;) (expression_statement "FUN_0003b7e0(iVar2);" (call_expression "FUN_0003b7e0(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) (expression_statement "FUN_00036b80(uVar9,0);" (call_expression "FUN_00036b80(uVar9,0)" identifier (argument_list "(uVar9,0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*DAT_00088978 == 0) {\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }" if (parenthesized_expression "(*DAT_00088978 == 0)" ( (binary_expression "*DAT_00088978 == 0" (pointer_expression "*DAT_00088978" * identifier) == number_literal) )) (compound_statement "{\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }" { (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }" else (compound_statement "{\n    FUN_0001a680();\n    FUN_0001a680();\n  }" { (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00036b80(iVar10,0);" (call_expression "FUN_00036b80(iVar10,0)" identifier (argument_list "(iVar10,0)" ( identifier , number_literal ))) ;) (expression_statement "uVar27 = FUN_00038f70();" (assignment_expression "uVar27 = FUN_00038f70()" identifier = (call_expression "FUN_00038f70()" identifier (argument_list "()" ( )))) ;) (if_statement "if (DAT_0008896c != 0) {\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }" if (parenthesized_expression "(DAT_0008896c != 0)" ( (binary_expression "DAT_0008896c != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }" { (if_statement "if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }" if (parenthesized_expression "(*(int *)(DAT_00088970 + 0xc) != 0)" ( (binary_expression "*(int *)(DAT_00088970 + 0xc) != 0" (pointer_expression "*(int *)(DAT_00088970 + 0xc)" * (cast_expression "(int *)(DAT_00088970 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088970 + 0xc)" ( (binary_expression "DAT_00088970 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }" { (expression_statement "pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));" (assignment_expression "pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4))" identifier = (cast_expression "(char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4))" identifier (argument_list "(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4))" ( (pointer_expression "*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4)" * (cast_expression "(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4)" ( (binary_expression "DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4" identifier + (binary_expression "*(int *)(DAT_00088970 + 0xc) * 4" (pointer_expression "*(int *)(DAT_00088970 + 0xc)" * (cast_expression "(int *)(DAT_00088970 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088970 + 0xc)" ( (binary_expression "DAT_00088970 + 0xc" identifier + number_literal) )))) * number_literal)) )))) ))))) ;) (expression_statement "sVar13 = strlen(pcVar12);" (assignment_expression "sVar13 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "memcpy(pvVar14,pcVar12,sVar13);" (call_expression "memcpy(pvVar14,pcVar12,sVar13)" identifier (argument_list "(pvVar14,pcVar12,sVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "*(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;" (assignment_expression "*(undefined1 *)((int)pvVar14 + sVar13) = 0x2f" (pointer_expression "*(undefined1 *)((int)pvVar14 + sVar13)" * (cast_expression "(undefined1 *)((int)pvVar14 + sVar13)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar14 + sVar13)" ( (binary_expression "(int)pvVar14 + sVar13" (cast_expression "(int)pvVar14" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) })) (expression_statement "sVar13 = strlen(*(char **)(DAT_00088970 + 8));" (assignment_expression "sVar13 = strlen(*(char **)(DAT_00088970 + 8))" identifier = (call_expression "strlen(*(char **)(DAT_00088970 + 8))" identifier (argument_list "(*(char **)(DAT_00088970 + 8))" ( (pointer_expression "*(char **)(DAT_00088970 + 8)" * (cast_expression "(char **)(DAT_00088970 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00088970 + 8)" ( (binary_expression "DAT_00088970 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);" (call_expression "memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1)" identifier (argument_list "(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1)" ( identifier , (pointer_expression "*(void **)(DAT_00088970 + 8)" * (cast_expression "(void **)(DAT_00088970 + 8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00088970 + 8)" ( (binary_expression "DAT_00088970 + 8" identifier + number_literal) )))) , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) (expression_statement "uVar17 = FUN_00038f70();" (assignment_expression "uVar17 = FUN_00038f70()" identifier = (call_expression "FUN_00038f70()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = getpwd();" (assignment_expression "uVar8 = getpwd()" identifier = (call_expression "getpwd()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar12 = (char *)FUN_00035620(uVar8);" (assignment_expression "pcVar12 = (char *)FUN_00035620(uVar8)" identifier = (cast_expression "(char *)FUN_00035620(uVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00035620(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))))) ;) (expression_statement "sVar13 = strlen(pcVar12);" (assignment_expression "sVar13 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "memcpy(pvVar14,pcVar12,sVar13 + 1);" (call_expression "memcpy(pvVar14,pcVar12,sVar13 + 1)" identifier (argument_list "(pvVar14,pcVar12,sVar13 + 1)" ( identifier , identifier , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) (expression_statement "uVar18 = FUN_00038f70();" (assignment_expression "uVar18 = FUN_00038f70()" identifier = (call_expression "FUN_00038f70()" identifier (argument_list "()" ( )))) ;) (expression_statement "sprintf((char *)local_cc,"GNU AS %s","2.31.1");" (call_expression "sprintf((char *)local_cc,"GNU AS %s","2.31.1")" identifier (argument_list "((char *)local_cc,"GNU AS %s","2.31.1")" ( (cast_expression "(char *)local_cc" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""GNU AS %s"" " string_content ") , (string_literal ""2.31.1"" " string_content ") ))) ;) (expression_statement "puVar20 = local_cc;" (assignment_expression "puVar20 = local_cc" identifier = identifier) ;) (do_statement "do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);" do (compound_statement "{\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    }" { (expression_statement "puVar23 = puVar20;" (assignment_expression "puVar23 = puVar20" identifier = identifier) ;) (expression_statement "uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;" (assignment_expression "uVar19 = *puVar23 + 0xfefefeff & ~*puVar23" identifier = (binary_expression "*puVar23 + 0xfefefeff & ~*puVar23" (binary_expression "*puVar23 + 0xfefefeff" (pointer_expression "*puVar23" * identifier) + number_literal) & (unary_expression "~*puVar23" ~ (pointer_expression "*puVar23" * identifier)))) ;) (expression_statement "uVar25 = uVar19 & 0x80808080;" (assignment_expression "uVar25 = uVar19 & 0x80808080" identifier = (binary_expression "uVar19 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = puVar23 + 1;" (assignment_expression "puVar20 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) ;) (expression_statement "bVar33 = (uVar19 & 0x8080) == 0;" (assignment_expression "bVar33 = (uVar19 & 0x8080) == 0" identifier = (binary_expression "(uVar19 & 0x8080) == 0" (parenthesized_expression "(uVar19 & 0x8080)" ( (binary_expression "uVar19 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }" if (parenthesized_expression "(bVar33)" ( identifier )) (compound_statement "{\n      uVar25 = uVar25 >> 0x10;\n    }" { (expression_statement "uVar25 = uVar25 >> 0x10;" (assignment_expression "uVar25 = uVar25 >> 0x10" identifier = (binary_expression "uVar25 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }" if (parenthesized_expression "(bVar33)" ( identifier )) (compound_statement "{\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }" { (expression_statement "puVar20 = (uint *)((int)puVar23 + 6);" (assignment_expression "puVar20 = (uint *)((int)puVar23 + 6)" identifier = (cast_expression "(uint *)((int)puVar23 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + 6)" ( (binary_expression "(int)puVar23 + 6" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;" (assignment_expression "uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2" identifier = (binary_expression "(int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2" (binary_expression "(int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25))" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25))" ( (binary_expression "-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)" (unary_expression "-(int)local_cc" - (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) - (cast_expression "(uint)CARRY1((byte)uVar25,(byte)uVar25)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar25,(byte)uVar25)" identifier (argument_list "((byte)uVar25,(byte)uVar25)" ( (cast_expression "(byte)uVar25" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar25" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) + number_literal)) ;) (expression_statement "puVar20 = (uint *)FUN_00024b20(uVar25);" (assignment_expression "puVar20 = (uint *)FUN_00024b20(uVar25)" identifier = (cast_expression "(uint *)FUN_00024b20(uVar25)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(uVar25)" identifier (argument_list "(uVar25)" ( identifier ))))) ;) (if_statement "if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }" if (parenthesized_expression "(uVar25 < 4)" ( (binary_expression "uVar25 < 4" identifier < number_literal) )) (compound_statement "{\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }" { (if_statement "if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }" { (expression_statement "*(undefined1 *)puVar20 = (undefined1)local_9c[0];" (assignment_expression "*(undefined1 *)puVar20 = (undefined1)local_9c[0]" (pointer_expression "*(undefined1 *)puVar20" * (cast_expression "(undefined1 *)puVar20" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(undefined1)local_9c[0]" ( (type_descriptor "undefined1" type_identifier) ) (subscript_expression "local_9c[0]" identifier [ number_literal ]))) ;) (if_statement "if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }" if (parenthesized_expression "((uVar25 & 2) != 0)" ( (binary_expression "(uVar25 & 2) != 0" (parenthesized_expression "(uVar25 & 2)" ( (binary_expression "uVar25 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }" { (expression_statement "*(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);" (assignment_expression "*(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2)" (pointer_expression "*(undefined2 *)((int)puVar20 + (uVar25 - 2))" * (cast_expression "(undefined2 *)((int)puVar20 + (uVar25 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + (uVar25 - 2))" ( (binary_expression "(int)puVar20 + (uVar25 - 2)" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar25 - 2)" ( (binary_expression "uVar25 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(local_a0 + uVar25 + 2)" * (cast_expression "(undefined2 *)(local_a0 + uVar25 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a0 + uVar25 + 2)" ( (binary_expression "local_a0 + uVar25 + 2" (binary_expression "local_a0 + uVar25" identifier + identifier) + number_literal) ))))) ;) })) })) }) (else_clause "else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }" else (compound_statement "{\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }" { (expression_statement "*puVar20 = local_9c[0];" (assignment_expression "*puVar20 = local_9c[0]" (pointer_expression "*puVar20" * identifier) = (subscript_expression "local_9c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);" (assignment_expression "*(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25)" (pointer_expression "*(undefined4 *)((int)puVar20 + (uVar25 - 4))" * (cast_expression "(undefined4 *)((int)puVar20 + (uVar25 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + (uVar25 - 4))" ( (binary_expression "(int)puVar20 + (uVar25 - 4)" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar25 - 4)" ( (binary_expression "uVar25 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(local_a0 + uVar25)" * (cast_expression "(undefined4 *)(local_a0 + uVar25)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a0 + uVar25)" ( (binary_expression "local_a0 + uVar25" identifier + identifier) ))))) ;) (expression_statement "iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);" (assignment_expression "iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc)" identifier = (binary_expression "(int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc)" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(puVar20 + 1) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(puVar20 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar20 + 1) & 0xfffffffc" (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "puVar26 = (undefined4 *)((int)local_cc - iVar6);" (assignment_expression "puVar26 = (undefined4 *)((int)local_cc - iVar6)" identifier = (cast_expression "(undefined4 *)((int)local_cc - iVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_cc - iVar6)" ( (binary_expression "(int)local_cc - iVar6" (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);" (assignment_expression "puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar20 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar20 + 1) & 0xfffffffc" (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }" for ( (assignment_expression "uVar25 = iVar6 + uVar25 >> 2" identifier = (binary_expression "iVar6 + uVar25 >> 2" (binary_expression "iVar6 + uVar25" identifier + identifier) >> number_literal)) ; (binary_expression "uVar25 != 0" identifier != number_literal) ; (assignment_expression "uVar25 = uVar25 - 1" identifier = (binary_expression "uVar25 - 1" identifier - number_literal)) ) (compound_statement "{\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }" { (expression_statement "*puVar31 = *puVar26;" (assignment_expression "*puVar31 = *puVar26" (pointer_expression "*puVar31" * identifier) = (pointer_expression "*puVar26" * identifier)) ;) (expression_statement "puVar26 = puVar26 + (uint)bVar35 * -2 + 1;" (assignment_expression "puVar26 = puVar26 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "puVar26 + (uint)bVar35 * -2 + 1" (binary_expression "puVar26 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar31 = puVar31 + (uint)bVar35 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "puVar31 + (uint)bVar35 * -2 + 1" (binary_expression "puVar31 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }))) (expression_statement "uVar8 = FUN_0001a5e0();" (assignment_expression "uVar8 = FUN_0001a5e0()" identifier = (call_expression "FUN_0001a5e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = local_b0;" (assignment_expression "iVar6 = local_b0" identifier = identifier) ;) (expression_statement "uVar16 = FUN_00024b20(2);" (assignment_expression "uVar16 = FUN_00024b20(2)" identifier = (call_expression "FUN_00024b20(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_000416b0(uVar16,2,0,2);" (call_expression "FUN_000416b0(uVar16,2,0,2)" identifier (argument_list "(uVar16,2,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_9c[0] = FUN_00036bd0(uVar9);" (assignment_expression "local_9c[0] = FUN_00036bd0(uVar9)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036bd0(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) (expression_statement "FUN_00024e20(DAT_00088950);" (call_expression "FUN_00024e20(DAT_00088950)" identifier (argument_list "(DAT_00088950)" ( identifier ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_9c[0] = FUN_00036bd0(uVar7);" (assignment_expression "local_9c[0] = FUN_00036bd0(uVar7)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036bd0(uVar7)" identifier (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00031660(local_cc,4);" (call_expression "FUN_00031660(local_cc,4)" identifier (argument_list "(local_cc,4)" ( identifier , number_literal ))) ;) (if_statement "if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }" if (parenthesized_expression "(*DAT_00088978 == 0)" ( (binary_expression "*DAT_00088978 == 0" (pointer_expression "*DAT_00088978" * identifier) == number_literal) )) (compound_statement "{\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }" { (expression_statement "local_b0 = DAT_00088978[3];" (assignment_expression "local_b0 = DAT_00088978[3]" identifier = (subscript_expression "DAT_00088978[3]" identifier [ number_literal ])) ;) (expression_statement "local_a0[0] = 3;" (assignment_expression "local_a0[0] = 3" (subscript_expression "local_a0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (expression_statement "FUN_00031660(&local_b0,DAT_00088950);" (call_expression "FUN_00031660(&local_b0,DAT_00088950)" identifier (argument_list "(&local_b0,DAT_00088950)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) (expression_statement "local_a0[0] = 3;" (assignment_expression "local_a0[0] = 3" (subscript_expression "local_a0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_b0 = DAT_00088978[4];" (assignment_expression "local_b0 = DAT_00088978[4]" identifier = (subscript_expression "DAT_00088978[4]" identifier [ number_literal ])) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (expression_statement "FUN_00031660(&local_b0,DAT_00088950);" (call_expression "FUN_00031660(&local_b0,DAT_00088950)" identifier (argument_list "(&local_b0,DAT_00088950)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) }) (else_clause "else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }" else (compound_statement "{\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }" { (expression_statement "local_9c[0] = FUN_00036bd0(local_ec);" (assignment_expression "local_9c[0] = FUN_00036bd0(local_ec)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036bd0(local_ec)" identifier (argument_list "(local_ec)" ( identifier )))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) }))) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[0] = uVar27;" (assignment_expression "local_9c[0] = uVar27" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[0] = uVar17;" (assignment_expression "local_9c[0] = uVar17" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[0] = uVar18;" (assignment_expression "local_9c[0] = uVar18" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) (expression_statement "uVar7 = FUN_00024b20(2);" (assignment_expression "uVar7 = FUN_00024b20(2)" identifier = (call_expression "FUN_00024b20(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_000416b0(uVar7,0x8001,0,2);" (call_expression "FUN_000416b0(uVar7,0x8001,0,2)" identifier (argument_list "(uVar7,0x8001,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "FUN_0003b7e0(iVar6);" (call_expression "FUN_0003b7e0(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);" (call_expression "FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11)" identifier (argument_list "("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11)" ( (string_literal ""../../gas/dwarf2dbg.c"" " string_content ") , number_literal , (string_literal ""out_debug_str"" " string_content ") , (binary_expression "iVar6 + iVar11" identifier + identifier) ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Restarted to delay deadcode elimination for space: stack */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid dwarf2_finish(void)\n\n{\n  char **ppcVar1;\n  line_entry **pplVar2;\n  line_subseg *plVar3;\n  line_entry *plVar4;\n  segT seg;\n  fragS *frag;\n  size_t nchars;\n  undefined *puVar5;\n  segT paVar6;\n  int iVar7;\n  asection *sec;\n  char *pcVar8;\n  char *pcVar9;\n  symbolS *psVar10;\n  symbolS *psVar11;\n  size_t sVar12;\n  char *pcVar13;\n  segT paVar14;\n  fragS *pfVar15;\n  uint uVar16;\n  segT paVar17;\n  segT secptr;\n  uint uVar18;\n  uint uVar19;\n  symbolS *psVar20;\n  symbolS *psVar21;\n  int iVar22;\n  expressionS *peVar23;\n  symbolS **ppsVar24;\n  int iVar25;\n  byte *pbVar26;\n  uint uVar27;\n  undefined4 *puVar28;\n  uint uVar29;\n  byte *pbVar30;\n  line_seg *plVar31;\n  undefined4 *puVar32;\n  bool bVar33;\n  bool bVar34;\n  bool bVar35;\n  byte bVar36;\n  valueT vVar37;\n  undefined8 uVar38;\n  offsetT oVar39;\n  undefined4 uVar40;\n  expressionS *peVar41;\n  undefined4 uVar42;\n  uint local_10c;\n  int local_108;\n  uint local_100;\n  symbolS *local_f8;\n  segT local_ec;\n  uint local_e8;\n  uint local_e4;\n  int local_e0;\n  uint local_d4;\n  fragS *local_d0;\n  expressionS *local_cc;\n  line_entry *local_c4;\n  expressionS exp_1;\n  expressionS exp;\n  \n  bVar36 = 0;\n  paVar6 = (segT)bfd_get_section_by_name(stdoutput,".debug_info");\n  bVar34 = true;\n  if (paVar6 != (segT)0x0) {\n    iVar7 = seg_not_empty_p(paVar6);\n    bVar34 = iVar7 == 0;\n  }\n  paVar6 = (segT)bfd_get_section_by_name(stdoutput,".debug_line");\n  if ((paVar6 != (segT)0x0) && (iVar7 = seg_not_empty_p(paVar6), iVar7 != 0)) {\n    if (all_segs == (line_seg *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    as_fatal("duplicate .debug_line sections");\n  }\n  if ((all_segs == (line_seg *)0x0) && (bVar34)) {\n    return;\n  }\n  sizeof_address = x86_dwarf2_addr_size();\n  sec = subseg_new(".debug_line",0);\n  bfd_set_section_flags(stdoutput,sec,0x2008);\n  for (plVar31 = all_segs; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {\n    pplVar2 = plVar31->head->ptail;\n    for (plVar3 = plVar31->head->next; plVar3 != (line_subseg *)0x0; plVar3 = plVar3->next) {\n      *pplVar2 = plVar3->head;\n      pplVar2 = plVar3->ptail;\n    }\n  }\n  pcVar8 = (char *)out_header(sec,&exp_1);\n  pcVar9 = frag_more(2);\n  number_to_chars_littleendian(pcVar9,2,2);\n  psVar10 = symbol_temp_make();\n  psVar11 = symbol_temp_make();\n  exp_1._16_1_ = 0x14;\n  uVar29 = 1;\n  exp_1.X_add_number._0_4_ = 0;\n  exp_1.X_add_number._4_4_ = 0;\n  psVar21 = exp_1.X_add_symbol;\n  exp_1.X_add_symbol = psVar11;\n  exp_1.X_op_symbol = psVar10;\n  emit_expr(&exp_1,(uint)pcVar8);\n  symbol_set_value_now(psVar10);\n  frag_append_1_char(1);\n  frag_append_1_char(1);\n  frag_append_1_char(-5);\n  frag_append_1_char(0xe);\n  frag_append_1_char(0xd);\n  frag_append_1_char(0);\n  frag_append_1_char(1);\n  frag_append_1_char(1);\n  frag_append_1_char(1);\n  frag_append_1_char(1);\n  frag_append_1_char(0);\n  frag_append_1_char(0);\n  frag_append_1_char(0);\n  frag_append_1_char(1);\n  frag_append_1_char(0);\n  frag_append_1_char(0);\n  frag_append_1_char(1);\n  if (1 < dirs_in_use) {\n    do {\n      ppcVar1 = dirs + uVar29;\n      uVar29 = uVar29 + 1;\n      pcVar8 = remap_debug_filename(*ppcVar1);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12 + 1);\n    } while (uVar29 < dirs_in_use);\n  }\n  pcVar9 = (char *)0x1;\n  frag_append_1_char(0);\n  if (1 < files_in_use) {\n    do {\n      while (pcVar8 = files[(int)pcVar9].filename, pcVar8 != (char *)0x0) {\n        sVar12 = strlen(pcVar8);\n        pcVar13 = frag_more(sVar12 + 1);\n        memcpy(pcVar13,pcVar8,sVar12 + 1);\n        pcVar9 = pcVar9 + 1;\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        if (files_in_use <= pcVar9) goto LAB_0001c228;\n      }\n      pcVar13 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar8 = pcVar9;\n      as_bad(pcVar13);\n      files[(int)pcVar9].filename = "";\n      pcVar9 = pcVar9 + 1;\n    } while (pcVar9 < files_in_use);\n  }\nLAB_0001c228:\n  frag_append_1_char(0);\n  symbol_set_value_now(psVar11);\n  puVar5 = PTR__bfd_std_section_0007ffb0;\n  for (plVar31 = all_segs; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {\n    paVar6 = plVar31->seg;\n    if ((((paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180))) ||\n        (paVar6 == reg_section)) || (paVar6 == expr_section)) {\n      pcVar8 = paVar6->name;\n      as_warn("dwarf line number information for %s ignored");\n    }\n    else {\n      local_c4 = plVar31->head->head;\n      bVar33 = false;\n      bVar35 = flag_dwarf_sections == 0;\n      if (!bVar35) {\n        iVar7 = 6;\n        pbVar26 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0005b3a1;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar26 < *pbVar30;\n          bVar35 = *pbVar26 == *pbVar30;\n          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar8 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar14 = subseg_get(pcVar8,0);\n        pcVar8 = (char *)0x0;\n        subseg_set(paVar14,0);\n      }\n      local_f8 = (symbolS *)0x0;\n      local_10c = 0;\n      local_108 = 0;\n      local_d0 = (fragS *)0x0;\n      local_100 = 1;\n      local_d4 = 1;\n      local_e8 = 1;\n      uVar29 = 0;\n      uVar27 = 0;\n      do {\n        uVar18 = (local_c4->loc).filenum;\n        if (uVar18 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar19 = (local_c4->loc).column;\n        if (uVar19 != uVar29) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar8 = (char *)0x0;\n          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);\n          pcVar9 = frag_more(uVar16);\n          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar16 = (local_c4->loc).isa;\n        if (uVar16 != uVar27) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar29 = (local_c4->loc).flags;\n        uVar27 = uVar29;\n        if (((local_100 ^ uVar29) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar27 = (local_c4->loc).flags;\n          local_100 = uVar29;\n        }\n        if ((uVar27 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar10 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar15 = symbol_get_frag(psVar10);\n        vVar37 = S_GET_VALUE(psVar10);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d140:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n          frag_append_1_char(2);\n          exp._16_1_ = 3;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          peVar41 = &exp;\n          pcVar8 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar10;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }\n        plVar4 = local_c4->next;\n        local_d4 = (local_c4->loc).line;\n        free(local_c4);\n        local_10c = local_e4;\n        local_108 = local_e0;\n        uVar29 = uVar19;\n        uVar27 = uVar16;\n        local_f8 = psVar10;\n        local_e8 = uVar18;\n        local_d0 = pfVar15;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar15 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21));\n      }\n      else {\n        pcVar8 = (char *)vVar37;\n        psVar11 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar11,psVar10);\n      }\n    }\n  }\n  if (flag_dwarf_sections != 0) {\n    paVar6 = subseg_get(".debug_line_end",0);\n    subseg_set(paVar6,0);\n  }\n  symbol_set_value_now(psVar21);\n  if (!bVar34) {\n    return;\n  }\n  if (all_segs == (line_seg *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish");\n  }\n  paVar6 = subseg_new(".debug_info",0);\n  paVar14 = subseg_new(".debug_abbrev",0);\n  paVar17 = subseg_new(".debug_aranges",0);\n  secptr = subseg_new(".debug_str",0);\n  bfd_set_section_flags(stdoutput,paVar6,0x2008);\n  bfd_set_section_flags(stdoutput,paVar14,0x2008);\n  bfd_set_section_flags(stdoutput,paVar17,0x2008);\n  bfd_set_section_flags(stdoutput,secptr,0x1802008);\n  uVar27 = sizeof_address;\n  secptr->entsize = 1;\n  uVar27 = uVar27 * 2;\n  uVar29 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    uVar29 = 0xffffffff;\n  }\n  record_alignment(paVar17,uVar29);\n  local_ec = (segT)all_segs->next;\n  if (local_ec == (segT)0x0) goto LAB_0001c984;\n  local_ec = subseg_new(".debug_ranges",0);\n  bfd_set_section_flags(stdoutput,local_ec,0x2008);\n  uVar27 = sizeof_address * 2;\n  uVar29 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    uVar29 = 0xffffffff;\n  }\n  record_alignment(local_ec,uVar29);\n  uVar29 = sizeof_address;\n  subseg_set(local_ec,0);\n  if (uVar29 == 0) {\n    if (all_segs == (line_seg *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    plVar31 = all_segs;\n    do {\n                    /* WARNING: Load size is inaccurate */\n      psVar10 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar10;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      pfVar15 = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(pfVar15,(segT)&seg->userdata);\n      psVar11 = symbol_temp_new(seg,vVar37,pfVar15);\n      plVar31->text_end = psVar11;\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar10;\n      emit_expr(&exp,uVar29);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar11;\n      emit_expr(&exp,uVar29);\n      plVar31 = plVar31->next;\n    } while (plVar31 != (line_seg *)0x0);\n    if (uVar29 == 0) goto LAB_0001c984;\n  }\n  else {\n    uVar27 = 0;\n    do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar29 != uVar27);\n    uVar27 = 0;\n    do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0);\n    } while (uVar29 != uVar27);\n    if (all_segs != (line_seg *)0x0) goto LAB_0001c840;\n  }\n  uVar27 = 0;\n  do {\n    uVar27 = uVar27 + 1;\n    frag_append_1_char(0);\n  } while (uVar29 != uVar27);\n  uVar27 = 0;\n  do {\n    uVar27 = uVar27 + 1;\n    frag_append_1_char(0);\n  } while (uVar29 != uVar27);\nLAB_0001c984:\n  uVar29 = sizeof_address;\n  local_cc = &exp;\n  uVar18 = out_header(paVar17,&exp_1);\n  iVar7 = exp_1.X_add_number._4_4_;\n  uVar27 = (uint)exp_1.X_add_number;\n  psVar10 = exp_1.X_add_symbol;\n  pcVar8 = frag_more(2);\n  number_to_chars_littleendian(pcVar8,2,2);\n  exp.X_add_symbol = section_symbol(paVar6);\n  exp._16_1_ = 3;\n  exp.X_add_number._0_4_ = 0;\n  exp.X_add_number._4_4_ = 0;\n  emit_expr(local_cc,uVar18);\n  uVar16 = 2 - uVar27;\n  uVar19 = uVar18 + uVar16;\n  iVar22 = ((int)uVar18 >> 0x1f) + (-(uint)(2 < uVar27) - iVar7) + (uint)CARRY4(uVar18,uVar16);\n  frag_append_1_char(uVar29);\n  frag_append_1_char(0);\n  uVar27 = uVar19 + 3;\n  iVar7 = iVar22 + (uint)(0xfffffffc < uVar19);\n  nchars = uVar29 * 2;\n  uVar38 = __moddi3(uVar19 + 2,iVar22 + (uint)(0xfffffffd < uVar19),nchars,0);\n  plVar31 = all_segs;\n  if (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0)) {\n    do {\n      frag_append_1_char(0);\n      bVar34 = 0xfffffffe < uVar27;\n      uVar38 = __moddi3(uVar27,iVar7,nchars,0);\n      uVar27 = uVar27 + 1;\n      iVar7 = iVar7 + (uint)bVar34;\n      plVar31 = all_segs;\n    } while (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0));\n  }\n  for (; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {\n                    /* WARNING: Load size is inaccurate */\n    psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n    paVar17 = plVar31->seg;\n    plVar31->text_start = psVar11;\n                    /* WARNING: Load size is inaccurate */\n    iVar7 = *paVar17->userdata;\n    do {\n      iVar22 = iVar7;\n      iVar7 = *(int *)(iVar22 + 8);\n    } while (iVar7 != 0);\n    pfVar15 = *(fragS **)(iVar22 + 4);\n    vVar37 = get_frag_fix(pfVar15,(segT)&paVar17->userdata);\n    psVar20 = symbol_temp_new(paVar17,vVar37,pfVar15);\n    plVar31->text_end = psVar20;\n    exp_1._16_1_ = 3;\n    exp_1.X_add_number._0_4_ = 0;\n    exp_1.X_add_number._4_4_ = 0;\n    exp_1.X_add_symbol = psVar11;\n    emit_expr(&exp_1,uVar29);\n    exp_1._16_1_ = 0x14;\n    exp_1.X_add_number._0_4_ = 0;\n    exp_1.X_add_number._4_4_ = 0;\n    exp_1.X_add_symbol = psVar20;\n    exp_1.X_op_symbol = psVar11;\n    emit_expr(&exp_1,uVar29);\n  }\n  pcVar8 = frag_more(nchars);\n  number_to_chars_littleendian(pcVar8,0,uVar29);\n  number_to_chars_littleendian(pcVar8 + uVar29,0,uVar29);\n  symbol_set_value_now(psVar10);\n  uVar42 = 0;\n  paVar17 = paVar14;\n  subseg_set(paVar14,0);\n  out_uleb128(CONCAT44(uVar42,paVar17));\n  out_uleb128(CONCAT44(uVar42,paVar17));\n  uVar40 = 0;\n  frag_append_1_char(0);\n  out_uleb128(CONCAT44(uVar42,uVar40));\n  out_uleb128(CONCAT44(uVar42,uVar40));\n  if (all_segs->next == (line_seg *)0x0) {\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n  }\n  else {\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n  }\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  frag_append_1_char(0);\n  subseg_set(secptr,0);\n  psVar21 = symbol_temp_new_now();\n  if (files_in_use != 0) {\n    if (files[1].dir != 0) {\n      pcVar8 = remap_debug_filename(dirs[files[1].dir]);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12);\n      pcVar9[sVar12] = '/';\n    }\n    sVar12 = strlen(files[1].filename);\n    pcVar8 = frag_more(sVar12 + 1);\n    memcpy(pcVar8,files[1].filename,sVar12 + 1);\n    psVar10 = symbol_temp_new_now();\n    pcVar8 = (char *)getpwd();\n    pcVar8 = remap_debug_filename(pcVar8);\n    sVar12 = strlen(pcVar8);\n    pcVar9 = frag_more(sVar12 + 1);\n    memcpy(pcVar9,pcVar8,sVar12 + 1);\n    psVar11 = symbol_temp_new_now();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    peVar41 = local_cc;\n    do {\n      peVar23 = peVar41;\n      uVar27 = (uint)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar23->X_add_symbol;\n      uVar29 = uVar27 & 0x80808080;\n      peVar41 = (expressionS *)&peVar23->X_op_symbol;\n    } while (uVar29 == 0);\n    bVar34 = (uVar27 & 0x8080) == 0;\n    if (bVar34) {\n      uVar29 = uVar29 >> 0x10;\n    }\n    ppsVar24 = &peVar23->X_op_symbol;\n    if (bVar34) {\n      ppsVar24 = (symbolS **)((int)&peVar23->X_op_symbol + 2);\n    }\n    uVar29 = (int)ppsVar24 + (-(int)local_cc - (uint)CARRY1((byte)uVar29,(byte)uVar29)) + -2;\n    pcVar8 = frag_more(uVar29);\n    if (uVar29 < 4) {\n      if (uVar29 != 0) {\n        *pcVar8 = (char)exp.X_add_symbol;\n        if ((uVar29 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);\n        }\n      }\n    }\n    else {\n      *(symbolS **)pcVar8 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar8 + (uVar29 - 4)) = *(undefined4 *)((int)&exp_1 + uVar29 + 0x10);\n      iVar7 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      puVar28 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (uVar29 = iVar7 + uVar29 >> 2; uVar29 != 0; uVar29 = uVar29 - 1) {\n        *puVar32 = *puVar28;\n        puVar28 = puVar28 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }\n    uVar18 = out_header(paVar6,&exp_1);\n    psVar20 = exp_1.X_add_symbol;\n    pcVar8 = frag_more(2);\n    number_to_chars_littleendian(pcVar8,2,2);\n    exp.X_add_symbol = section_symbol(paVar14);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    uVar27 = uVar18;\n    emit_expr(local_cc,uVar18);\n    uVar29 = sizeof_address;\n    frag_append_1_char(sizeof_address);\n    out_uleb128(CONCAT44(uVar27,uVar29));\n    exp.X_add_symbol = section_symbol(sec);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    emit_expr(local_cc,4);\n    if (all_segs->next == (line_seg *)0x0) {\n      exp_1.X_add_symbol = all_segs->text_start;\n      exp_1._16_1_ = 3;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n      exp_1._16_1_ = 3;\n      exp_1.X_add_symbol = all_segs->text_end;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n    }\n    else {\n      exp.X_add_symbol = section_symbol(local_ec);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      emit_expr(local_cc,uVar18);\n    }\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar21;\n    emit_expr(local_cc,uVar18);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar10;\n    emit_expr(local_cc,uVar18);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar11;\n    emit_expr(local_cc,uVar18);\n    pcVar8 = frag_more(2);\n    number_to_chars_littleendian(pcVar8,0x8001,2);\n    symbol_set_value_now(psVar20);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/dwarf2dbg.c",0x830,"out_debug_str");\n}\n\n" comment comment comment (function_definition "void dwarf2_finish(void)\n\n{\n  char **ppcVar1;\n  line_entry **pplVar2;\n  line_subseg *plVar3;\n  line_entry *plVar4;\n  segT seg;\n  fragS *frag;\n  size_t nchars;\n  undefined *puVar5;\n  segT paVar6;\n  int iVar7;\n  asection *sec;\n  char *pcVar8;\n  char *pcVar9;\n  symbolS *psVar10;\n  symbolS *psVar11;\n  size_t sVar12;\n  char *pcVar13;\n  segT paVar14;\n  fragS *pfVar15;\n  uint uVar16;\n  segT paVar17;\n  segT secptr;\n  uint uVar18;\n  uint uVar19;\n  symbolS *psVar20;\n  symbolS *psVar21;\n  int iVar22;\n  expressionS *peVar23;\n  symbolS **ppsVar24;\n  int iVar25;\n  byte *pbVar26;\n  uint uVar27;\n  undefined4 *puVar28;\n  uint uVar29;\n  byte *pbVar30;\n  line_seg *plVar31;\n  undefined4 *puVar32;\n  bool bVar33;\n  bool bVar34;\n  bool bVar35;\n  byte bVar36;\n  valueT vVar37;\n  undefined8 uVar38;\n  offsetT oVar39;\n  undefined4 uVar40;\n  expressionS *peVar41;\n  undefined4 uVar42;\n  uint local_10c;\n  int local_108;\n  uint local_100;\n  symbolS *local_f8;\n  segT local_ec;\n  uint local_e8;\n  uint local_e4;\n  int local_e0;\n  uint local_d4;\n  fragS *local_d0;\n  expressionS *local_cc;\n  line_entry *local_c4;\n  expressionS exp_1;\n  expressionS exp;\n  \n  bVar36 = 0;\n  paVar6 = (segT)bfd_get_section_by_name(stdoutput,".debug_info");\n  bVar34 = true;\n  if (paVar6 != (segT)0x0) {\n    iVar7 = seg_not_empty_p(paVar6);\n    bVar34 = iVar7 == 0;\n  }\n  paVar6 = (segT)bfd_get_section_by_name(stdoutput,".debug_line");\n  if ((paVar6 != (segT)0x0) && (iVar7 = seg_not_empty_p(paVar6), iVar7 != 0)) {\n    if (all_segs == (line_seg *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    as_fatal("duplicate .debug_line sections");\n  }\n  if ((all_segs == (line_seg *)0x0) && (bVar34)) {\n    return;\n  }\n  sizeof_address = x86_dwarf2_addr_size();\n  sec = subseg_new(".debug_line",0);\n  bfd_set_section_flags(stdoutput,sec,0x2008);\n  for (plVar31 = all_segs; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {\n    pplVar2 = plVar31->head->ptail;\n    for (plVar3 = plVar31->head->next; plVar3 != (line_subseg *)0x0; plVar3 = plVar3->next) {\n      *pplVar2 = plVar3->head;\n      pplVar2 = plVar3->ptail;\n    }\n  }\n  pcVar8 = (char *)out_header(sec,&exp_1);\n  pcVar9 = frag_more(2);\n  number_to_chars_littleendian(pcVar9,2,2);\n  psVar10 = symbol_temp_make();\n  psVar11 = symbol_temp_make();\n  exp_1._16_1_ = 0x14;\n  uVar29 = 1;\n  exp_1.X_add_number._0_4_ = 0;\n  exp_1.X_add_number._4_4_ = 0;\n  psVar21 = exp_1.X_add_symbol;\n  exp_1.X_add_symbol = psVar11;\n  exp_1.X_op_symbol = psVar10;\n  emit_expr(&exp_1,(uint)pcVar8);\n  symbol_set_value_now(psVar10);\n  frag_append_1_char(1);\n  frag_append_1_char(1);\n  frag_append_1_char(-5);\n  frag_append_1_char(0xe);\n  frag_append_1_char(0xd);\n  frag_append_1_char(0);\n  frag_append_1_char(1);\n  frag_append_1_char(1);\n  frag_append_1_char(1);\n  frag_append_1_char(1);\n  frag_append_1_char(0);\n  frag_append_1_char(0);\n  frag_append_1_char(0);\n  frag_append_1_char(1);\n  frag_append_1_char(0);\n  frag_append_1_char(0);\n  frag_append_1_char(1);\n  if (1 < dirs_in_use) {\n    do {\n      ppcVar1 = dirs + uVar29;\n      uVar29 = uVar29 + 1;\n      pcVar8 = remap_debug_filename(*ppcVar1);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12 + 1);\n    } while (uVar29 < dirs_in_use);\n  }\n  pcVar9 = (char *)0x1;\n  frag_append_1_char(0);\n  if (1 < files_in_use) {\n    do {\n      while (pcVar8 = files[(int)pcVar9].filename, pcVar8 != (char *)0x0) {\n        sVar12 = strlen(pcVar8);\n        pcVar13 = frag_more(sVar12 + 1);\n        memcpy(pcVar13,pcVar8,sVar12 + 1);\n        pcVar9 = pcVar9 + 1;\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        if (files_in_use <= pcVar9) goto LAB_0001c228;\n      }\n      pcVar13 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar8 = pcVar9;\n      as_bad(pcVar13);\n      files[(int)pcVar9].filename = "";\n      pcVar9 = pcVar9 + 1;\n    } while (pcVar9 < files_in_use);\n  }\nLAB_0001c228:\n  frag_append_1_char(0);\n  symbol_set_value_now(psVar11);\n  puVar5 = PTR__bfd_std_section_0007ffb0;\n  for (plVar31 = all_segs; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {\n    paVar6 = plVar31->seg;\n    if ((((paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180))) ||\n        (paVar6 == reg_section)) || (paVar6 == expr_section)) {\n      pcVar8 = paVar6->name;\n      as_warn("dwarf line number information for %s ignored");\n    }\n    else {\n      local_c4 = plVar31->head->head;\n      bVar33 = false;\n      bVar35 = flag_dwarf_sections == 0;\n      if (!bVar35) {\n        iVar7 = 6;\n        pbVar26 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0005b3a1;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar26 < *pbVar30;\n          bVar35 = *pbVar26 == *pbVar30;\n          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar8 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar14 = subseg_get(pcVar8,0);\n        pcVar8 = (char *)0x0;\n        subseg_set(paVar14,0);\n      }\n      local_f8 = (symbolS *)0x0;\n      local_10c = 0;\n      local_108 = 0;\n      local_d0 = (fragS *)0x0;\n      local_100 = 1;\n      local_d4 = 1;\n      local_e8 = 1;\n      uVar29 = 0;\n      uVar27 = 0;\n      do {\n        uVar18 = (local_c4->loc).filenum;\n        if (uVar18 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar19 = (local_c4->loc).column;\n        if (uVar19 != uVar29) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar8 = (char *)0x0;\n          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);\n          pcVar9 = frag_more(uVar16);\n          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar16 = (local_c4->loc).isa;\n        if (uVar16 != uVar27) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar29 = (local_c4->loc).flags;\n        uVar27 = uVar29;\n        if (((local_100 ^ uVar29) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar27 = (local_c4->loc).flags;\n          local_100 = uVar29;\n        }\n        if ((uVar27 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar10 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar15 = symbol_get_frag(psVar10);\n        vVar37 = S_GET_VALUE(psVar10);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d140:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n          frag_append_1_char(2);\n          exp._16_1_ = 3;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          peVar41 = &exp;\n          pcVar8 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar10;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }\n        plVar4 = local_c4->next;\n        local_d4 = (local_c4->loc).line;\n        free(local_c4);\n        local_10c = local_e4;\n        local_108 = local_e0;\n        uVar29 = uVar19;\n        uVar27 = uVar16;\n        local_f8 = psVar10;\n        local_e8 = uVar18;\n        local_d0 = pfVar15;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar15 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21));\n      }\n      else {\n        pcVar8 = (char *)vVar37;\n        psVar11 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar11,psVar10);\n      }\n    }\n  }\n  if (flag_dwarf_sections != 0) {\n    paVar6 = subseg_get(".debug_line_end",0);\n    subseg_set(paVar6,0);\n  }\n  symbol_set_value_now(psVar21);\n  if (!bVar34) {\n    return;\n  }\n  if (all_segs == (line_seg *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish");\n  }\n  paVar6 = subseg_new(".debug_info",0);\n  paVar14 = subseg_new(".debug_abbrev",0);\n  paVar17 = subseg_new(".debug_aranges",0);\n  secptr = subseg_new(".debug_str",0);\n  bfd_set_section_flags(stdoutput,paVar6,0x2008);\n  bfd_set_section_flags(stdoutput,paVar14,0x2008);\n  bfd_set_section_flags(stdoutput,paVar17,0x2008);\n  bfd_set_section_flags(stdoutput,secptr,0x1802008);\n  uVar27 = sizeof_address;\n  secptr->entsize = 1;\n  uVar27 = uVar27 * 2;\n  uVar29 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    uVar29 = 0xffffffff;\n  }\n  record_alignment(paVar17,uVar29);\n  local_ec = (segT)all_segs->next;\n  if (local_ec == (segT)0x0) goto LAB_0001c984;\n  local_ec = subseg_new(".debug_ranges",0);\n  bfd_set_section_flags(stdoutput,local_ec,0x2008);\n  uVar27 = sizeof_address * 2;\n  uVar29 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    uVar29 = 0xffffffff;\n  }\n  record_alignment(local_ec,uVar29);\n  uVar29 = sizeof_address;\n  subseg_set(local_ec,0);\n  if (uVar29 == 0) {\n    if (all_segs == (line_seg *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    plVar31 = all_segs;\n    do {\n                    /* WARNING: Load size is inaccurate */\n      psVar10 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar10;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      pfVar15 = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(pfVar15,(segT)&seg->userdata);\n      psVar11 = symbol_temp_new(seg,vVar37,pfVar15);\n      plVar31->text_end = psVar11;\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar10;\n      emit_expr(&exp,uVar29);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar11;\n      emit_expr(&exp,uVar29);\n      plVar31 = plVar31->next;\n    } while (plVar31 != (line_seg *)0x0);\n    if (uVar29 == 0) goto LAB_0001c984;\n  }\n  else {\n    uVar27 = 0;\n    do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar29 != uVar27);\n    uVar27 = 0;\n    do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0);\n    } while (uVar29 != uVar27);\n    if (all_segs != (line_seg *)0x0) goto LAB_0001c840;\n  }\n  uVar27 = 0;\n  do {\n    uVar27 = uVar27 + 1;\n    frag_append_1_char(0);\n  } while (uVar29 != uVar27);\n  uVar27 = 0;\n  do {\n    uVar27 = uVar27 + 1;\n    frag_append_1_char(0);\n  } while (uVar29 != uVar27);\nLAB_0001c984:\n  uVar29 = sizeof_address;\n  local_cc = &exp;\n  uVar18 = out_header(paVar17,&exp_1);\n  iVar7 = exp_1.X_add_number._4_4_;\n  uVar27 = (uint)exp_1.X_add_number;\n  psVar10 = exp_1.X_add_symbol;\n  pcVar8 = frag_more(2);\n  number_to_chars_littleendian(pcVar8,2,2);\n  exp.X_add_symbol = section_symbol(paVar6);\n  exp._16_1_ = 3;\n  exp.X_add_number._0_4_ = 0;\n  exp.X_add_number._4_4_ = 0;\n  emit_expr(local_cc,uVar18);\n  uVar16 = 2 - uVar27;\n  uVar19 = uVar18 + uVar16;\n  iVar22 = ((int)uVar18 >> 0x1f) + (-(uint)(2 < uVar27) - iVar7) + (uint)CARRY4(uVar18,uVar16);\n  frag_append_1_char(uVar29);\n  frag_append_1_char(0);\n  uVar27 = uVar19 + 3;\n  iVar7 = iVar22 + (uint)(0xfffffffc < uVar19);\n  nchars = uVar29 * 2;\n  uVar38 = __moddi3(uVar19 + 2,iVar22 + (uint)(0xfffffffd < uVar19),nchars,0);\n  plVar31 = all_segs;\n  if (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0)) {\n    do {\n      frag_append_1_char(0);\n      bVar34 = 0xfffffffe < uVar27;\n      uVar38 = __moddi3(uVar27,iVar7,nchars,0);\n      uVar27 = uVar27 + 1;\n      iVar7 = iVar7 + (uint)bVar34;\n      plVar31 = all_segs;\n    } while (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0));\n  }\n  for (; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {\n                    /* WARNING: Load size is inaccurate */\n    psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n    paVar17 = plVar31->seg;\n    plVar31->text_start = psVar11;\n                    /* WARNING: Load size is inaccurate */\n    iVar7 = *paVar17->userdata;\n    do {\n      iVar22 = iVar7;\n      iVar7 = *(int *)(iVar22 + 8);\n    } while (iVar7 != 0);\n    pfVar15 = *(fragS **)(iVar22 + 4);\n    vVar37 = get_frag_fix(pfVar15,(segT)&paVar17->userdata);\n    psVar20 = symbol_temp_new(paVar17,vVar37,pfVar15);\n    plVar31->text_end = psVar20;\n    exp_1._16_1_ = 3;\n    exp_1.X_add_number._0_4_ = 0;\n    exp_1.X_add_number._4_4_ = 0;\n    exp_1.X_add_symbol = psVar11;\n    emit_expr(&exp_1,uVar29);\n    exp_1._16_1_ = 0x14;\n    exp_1.X_add_number._0_4_ = 0;\n    exp_1.X_add_number._4_4_ = 0;\n    exp_1.X_add_symbol = psVar20;\n    exp_1.X_op_symbol = psVar11;\n    emit_expr(&exp_1,uVar29);\n  }\n  pcVar8 = frag_more(nchars);\n  number_to_chars_littleendian(pcVar8,0,uVar29);\n  number_to_chars_littleendian(pcVar8 + uVar29,0,uVar29);\n  symbol_set_value_now(psVar10);\n  uVar42 = 0;\n  paVar17 = paVar14;\n  subseg_set(paVar14,0);\n  out_uleb128(CONCAT44(uVar42,paVar17));\n  out_uleb128(CONCAT44(uVar42,paVar17));\n  uVar40 = 0;\n  frag_append_1_char(0);\n  out_uleb128(CONCAT44(uVar42,uVar40));\n  out_uleb128(CONCAT44(uVar42,uVar40));\n  if (all_segs->next == (line_seg *)0x0) {\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n  }\n  else {\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n  }\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  frag_append_1_char(0);\n  subseg_set(secptr,0);\n  psVar21 = symbol_temp_new_now();\n  if (files_in_use != 0) {\n    if (files[1].dir != 0) {\n      pcVar8 = remap_debug_filename(dirs[files[1].dir]);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12);\n      pcVar9[sVar12] = '/';\n    }\n    sVar12 = strlen(files[1].filename);\n    pcVar8 = frag_more(sVar12 + 1);\n    memcpy(pcVar8,files[1].filename,sVar12 + 1);\n    psVar10 = symbol_temp_new_now();\n    pcVar8 = (char *)getpwd();\n    pcVar8 = remap_debug_filename(pcVar8);\n    sVar12 = strlen(pcVar8);\n    pcVar9 = frag_more(sVar12 + 1);\n    memcpy(pcVar9,pcVar8,sVar12 + 1);\n    psVar11 = symbol_temp_new_now();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    peVar41 = local_cc;\n    do {\n      peVar23 = peVar41;\n      uVar27 = (uint)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar23->X_add_symbol;\n      uVar29 = uVar27 & 0x80808080;\n      peVar41 = (expressionS *)&peVar23->X_op_symbol;\n    } while (uVar29 == 0);\n    bVar34 = (uVar27 & 0x8080) == 0;\n    if (bVar34) {\n      uVar29 = uVar29 >> 0x10;\n    }\n    ppsVar24 = &peVar23->X_op_symbol;\n    if (bVar34) {\n      ppsVar24 = (symbolS **)((int)&peVar23->X_op_symbol + 2);\n    }\n    uVar29 = (int)ppsVar24 + (-(int)local_cc - (uint)CARRY1((byte)uVar29,(byte)uVar29)) + -2;\n    pcVar8 = frag_more(uVar29);\n    if (uVar29 < 4) {\n      if (uVar29 != 0) {\n        *pcVar8 = (char)exp.X_add_symbol;\n        if ((uVar29 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);\n        }\n      }\n    }\n    else {\n      *(symbolS **)pcVar8 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar8 + (uVar29 - 4)) = *(undefined4 *)((int)&exp_1 + uVar29 + 0x10);\n      iVar7 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      puVar28 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (uVar29 = iVar7 + uVar29 >> 2; uVar29 != 0; uVar29 = uVar29 - 1) {\n        *puVar32 = *puVar28;\n        puVar28 = puVar28 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }\n    uVar18 = out_header(paVar6,&exp_1);\n    psVar20 = exp_1.X_add_symbol;\n    pcVar8 = frag_more(2);\n    number_to_chars_littleendian(pcVar8,2,2);\n    exp.X_add_symbol = section_symbol(paVar14);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    uVar27 = uVar18;\n    emit_expr(local_cc,uVar18);\n    uVar29 = sizeof_address;\n    frag_append_1_char(sizeof_address);\n    out_uleb128(CONCAT44(uVar27,uVar29));\n    exp.X_add_symbol = section_symbol(sec);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    emit_expr(local_cc,4);\n    if (all_segs->next == (line_seg *)0x0) {\n      exp_1.X_add_symbol = all_segs->text_start;\n      exp_1._16_1_ = 3;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n      exp_1._16_1_ = 3;\n      exp_1.X_add_symbol = all_segs->text_end;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n    }\n    else {\n      exp.X_add_symbol = section_symbol(local_ec);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      emit_expr(local_cc,uVar18);\n    }\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar21;\n    emit_expr(local_cc,uVar18);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar10;\n    emit_expr(local_cc,uVar18);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar11;\n    emit_expr(local_cc,uVar18);\n    pcVar8 = frag_more(2);\n    number_to_chars_littleendian(pcVar8,0x8001,2);\n    symbol_set_value_now(psVar20);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/dwarf2dbg.c",0x830,"out_debug_str");\n}" primitive_type (function_declarator "dwarf2_finish(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  char **ppcVar1;\n  line_entry **pplVar2;\n  line_subseg *plVar3;\n  line_entry *plVar4;\n  segT seg;\n  fragS *frag;\n  size_t nchars;\n  undefined *puVar5;\n  segT paVar6;\n  int iVar7;\n  asection *sec;\n  char *pcVar8;\n  char *pcVar9;\n  symbolS *psVar10;\n  symbolS *psVar11;\n  size_t sVar12;\n  char *pcVar13;\n  segT paVar14;\n  fragS *pfVar15;\n  uint uVar16;\n  segT paVar17;\n  segT secptr;\n  uint uVar18;\n  uint uVar19;\n  symbolS *psVar20;\n  symbolS *psVar21;\n  int iVar22;\n  expressionS *peVar23;\n  symbolS **ppsVar24;\n  int iVar25;\n  byte *pbVar26;\n  uint uVar27;\n  undefined4 *puVar28;\n  uint uVar29;\n  byte *pbVar30;\n  line_seg *plVar31;\n  undefined4 *puVar32;\n  bool bVar33;\n  bool bVar34;\n  bool bVar35;\n  byte bVar36;\n  valueT vVar37;\n  undefined8 uVar38;\n  offsetT oVar39;\n  undefined4 uVar40;\n  expressionS *peVar41;\n  undefined4 uVar42;\n  uint local_10c;\n  int local_108;\n  uint local_100;\n  symbolS *local_f8;\n  segT local_ec;\n  uint local_e8;\n  uint local_e4;\n  int local_e0;\n  uint local_d4;\n  fragS *local_d0;\n  expressionS *local_cc;\n  line_entry *local_c4;\n  expressionS exp_1;\n  expressionS exp;\n  \n  bVar36 = 0;\n  paVar6 = (segT)bfd_get_section_by_name(stdoutput,".debug_info");\n  bVar34 = true;\n  if (paVar6 != (segT)0x0) {\n    iVar7 = seg_not_empty_p(paVar6);\n    bVar34 = iVar7 == 0;\n  }\n  paVar6 = (segT)bfd_get_section_by_name(stdoutput,".debug_line");\n  if ((paVar6 != (segT)0x0) && (iVar7 = seg_not_empty_p(paVar6), iVar7 != 0)) {\n    if (all_segs == (line_seg *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    as_fatal("duplicate .debug_line sections");\n  }\n  if ((all_segs == (line_seg *)0x0) && (bVar34)) {\n    return;\n  }\n  sizeof_address = x86_dwarf2_addr_size();\n  sec = subseg_new(".debug_line",0);\n  bfd_set_section_flags(stdoutput,sec,0x2008);\n  for (plVar31 = all_segs; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {\n    pplVar2 = plVar31->head->ptail;\n    for (plVar3 = plVar31->head->next; plVar3 != (line_subseg *)0x0; plVar3 = plVar3->next) {\n      *pplVar2 = plVar3->head;\n      pplVar2 = plVar3->ptail;\n    }\n  }\n  pcVar8 = (char *)out_header(sec,&exp_1);\n  pcVar9 = frag_more(2);\n  number_to_chars_littleendian(pcVar9,2,2);\n  psVar10 = symbol_temp_make();\n  psVar11 = symbol_temp_make();\n  exp_1._16_1_ = 0x14;\n  uVar29 = 1;\n  exp_1.X_add_number._0_4_ = 0;\n  exp_1.X_add_number._4_4_ = 0;\n  psVar21 = exp_1.X_add_symbol;\n  exp_1.X_add_symbol = psVar11;\n  exp_1.X_op_symbol = psVar10;\n  emit_expr(&exp_1,(uint)pcVar8);\n  symbol_set_value_now(psVar10);\n  frag_append_1_char(1);\n  frag_append_1_char(1);\n  frag_append_1_char(-5);\n  frag_append_1_char(0xe);\n  frag_append_1_char(0xd);\n  frag_append_1_char(0);\n  frag_append_1_char(1);\n  frag_append_1_char(1);\n  frag_append_1_char(1);\n  frag_append_1_char(1);\n  frag_append_1_char(0);\n  frag_append_1_char(0);\n  frag_append_1_char(0);\n  frag_append_1_char(1);\n  frag_append_1_char(0);\n  frag_append_1_char(0);\n  frag_append_1_char(1);\n  if (1 < dirs_in_use) {\n    do {\n      ppcVar1 = dirs + uVar29;\n      uVar29 = uVar29 + 1;\n      pcVar8 = remap_debug_filename(*ppcVar1);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12 + 1);\n    } while (uVar29 < dirs_in_use);\n  }\n  pcVar9 = (char *)0x1;\n  frag_append_1_char(0);\n  if (1 < files_in_use) {\n    do {\n      while (pcVar8 = files[(int)pcVar9].filename, pcVar8 != (char *)0x0) {\n        sVar12 = strlen(pcVar8);\n        pcVar13 = frag_more(sVar12 + 1);\n        memcpy(pcVar13,pcVar8,sVar12 + 1);\n        pcVar9 = pcVar9 + 1;\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        if (files_in_use <= pcVar9) goto LAB_0001c228;\n      }\n      pcVar13 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar8 = pcVar9;\n      as_bad(pcVar13);\n      files[(int)pcVar9].filename = "";\n      pcVar9 = pcVar9 + 1;\n    } while (pcVar9 < files_in_use);\n  }\nLAB_0001c228:\n  frag_append_1_char(0);\n  symbol_set_value_now(psVar11);\n  puVar5 = PTR__bfd_std_section_0007ffb0;\n  for (plVar31 = all_segs; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {\n    paVar6 = plVar31->seg;\n    if ((((paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180))) ||\n        (paVar6 == reg_section)) || (paVar6 == expr_section)) {\n      pcVar8 = paVar6->name;\n      as_warn("dwarf line number information for %s ignored");\n    }\n    else {\n      local_c4 = plVar31->head->head;\n      bVar33 = false;\n      bVar35 = flag_dwarf_sections == 0;\n      if (!bVar35) {\n        iVar7 = 6;\n        pbVar26 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0005b3a1;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar26 < *pbVar30;\n          bVar35 = *pbVar26 == *pbVar30;\n          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar8 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar14 = subseg_get(pcVar8,0);\n        pcVar8 = (char *)0x0;\n        subseg_set(paVar14,0);\n      }\n      local_f8 = (symbolS *)0x0;\n      local_10c = 0;\n      local_108 = 0;\n      local_d0 = (fragS *)0x0;\n      local_100 = 1;\n      local_d4 = 1;\n      local_e8 = 1;\n      uVar29 = 0;\n      uVar27 = 0;\n      do {\n        uVar18 = (local_c4->loc).filenum;\n        if (uVar18 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar19 = (local_c4->loc).column;\n        if (uVar19 != uVar29) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar8 = (char *)0x0;\n          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);\n          pcVar9 = frag_more(uVar16);\n          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar16 = (local_c4->loc).isa;\n        if (uVar16 != uVar27) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar29 = (local_c4->loc).flags;\n        uVar27 = uVar29;\n        if (((local_100 ^ uVar29) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar27 = (local_c4->loc).flags;\n          local_100 = uVar29;\n        }\n        if ((uVar27 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar10 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar15 = symbol_get_frag(psVar10);\n        vVar37 = S_GET_VALUE(psVar10);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d140:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n          frag_append_1_char(2);\n          exp._16_1_ = 3;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          peVar41 = &exp;\n          pcVar8 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar10;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }\n        plVar4 = local_c4->next;\n        local_d4 = (local_c4->loc).line;\n        free(local_c4);\n        local_10c = local_e4;\n        local_108 = local_e0;\n        uVar29 = uVar19;\n        uVar27 = uVar16;\n        local_f8 = psVar10;\n        local_e8 = uVar18;\n        local_d0 = pfVar15;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar15 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21));\n      }\n      else {\n        pcVar8 = (char *)vVar37;\n        psVar11 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar11,psVar10);\n      }\n    }\n  }\n  if (flag_dwarf_sections != 0) {\n    paVar6 = subseg_get(".debug_line_end",0);\n    subseg_set(paVar6,0);\n  }\n  symbol_set_value_now(psVar21);\n  if (!bVar34) {\n    return;\n  }\n  if (all_segs == (line_seg *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish");\n  }\n  paVar6 = subseg_new(".debug_info",0);\n  paVar14 = subseg_new(".debug_abbrev",0);\n  paVar17 = subseg_new(".debug_aranges",0);\n  secptr = subseg_new(".debug_str",0);\n  bfd_set_section_flags(stdoutput,paVar6,0x2008);\n  bfd_set_section_flags(stdoutput,paVar14,0x2008);\n  bfd_set_section_flags(stdoutput,paVar17,0x2008);\n  bfd_set_section_flags(stdoutput,secptr,0x1802008);\n  uVar27 = sizeof_address;\n  secptr->entsize = 1;\n  uVar27 = uVar27 * 2;\n  uVar29 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    uVar29 = 0xffffffff;\n  }\n  record_alignment(paVar17,uVar29);\n  local_ec = (segT)all_segs->next;\n  if (local_ec == (segT)0x0) goto LAB_0001c984;\n  local_ec = subseg_new(".debug_ranges",0);\n  bfd_set_section_flags(stdoutput,local_ec,0x2008);\n  uVar27 = sizeof_address * 2;\n  uVar29 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    uVar29 = 0xffffffff;\n  }\n  record_alignment(local_ec,uVar29);\n  uVar29 = sizeof_address;\n  subseg_set(local_ec,0);\n  if (uVar29 == 0) {\n    if (all_segs == (line_seg *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    plVar31 = all_segs;\n    do {\n                    /* WARNING: Load size is inaccurate */\n      psVar10 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar10;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      pfVar15 = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(pfVar15,(segT)&seg->userdata);\n      psVar11 = symbol_temp_new(seg,vVar37,pfVar15);\n      plVar31->text_end = psVar11;\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar10;\n      emit_expr(&exp,uVar29);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar11;\n      emit_expr(&exp,uVar29);\n      plVar31 = plVar31->next;\n    } while (plVar31 != (line_seg *)0x0);\n    if (uVar29 == 0) goto LAB_0001c984;\n  }\n  else {\n    uVar27 = 0;\n    do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar29 != uVar27);\n    uVar27 = 0;\n    do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0);\n    } while (uVar29 != uVar27);\n    if (all_segs != (line_seg *)0x0) goto LAB_0001c840;\n  }\n  uVar27 = 0;\n  do {\n    uVar27 = uVar27 + 1;\n    frag_append_1_char(0);\n  } while (uVar29 != uVar27);\n  uVar27 = 0;\n  do {\n    uVar27 = uVar27 + 1;\n    frag_append_1_char(0);\n  } while (uVar29 != uVar27);\nLAB_0001c984:\n  uVar29 = sizeof_address;\n  local_cc = &exp;\n  uVar18 = out_header(paVar17,&exp_1);\n  iVar7 = exp_1.X_add_number._4_4_;\n  uVar27 = (uint)exp_1.X_add_number;\n  psVar10 = exp_1.X_add_symbol;\n  pcVar8 = frag_more(2);\n  number_to_chars_littleendian(pcVar8,2,2);\n  exp.X_add_symbol = section_symbol(paVar6);\n  exp._16_1_ = 3;\n  exp.X_add_number._0_4_ = 0;\n  exp.X_add_number._4_4_ = 0;\n  emit_expr(local_cc,uVar18);\n  uVar16 = 2 - uVar27;\n  uVar19 = uVar18 + uVar16;\n  iVar22 = ((int)uVar18 >> 0x1f) + (-(uint)(2 < uVar27) - iVar7) + (uint)CARRY4(uVar18,uVar16);\n  frag_append_1_char(uVar29);\n  frag_append_1_char(0);\n  uVar27 = uVar19 + 3;\n  iVar7 = iVar22 + (uint)(0xfffffffc < uVar19);\n  nchars = uVar29 * 2;\n  uVar38 = __moddi3(uVar19 + 2,iVar22 + (uint)(0xfffffffd < uVar19),nchars,0);\n  plVar31 = all_segs;\n  if (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0)) {\n    do {\n      frag_append_1_char(0);\n      bVar34 = 0xfffffffe < uVar27;\n      uVar38 = __moddi3(uVar27,iVar7,nchars,0);\n      uVar27 = uVar27 + 1;\n      iVar7 = iVar7 + (uint)bVar34;\n      plVar31 = all_segs;\n    } while (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0));\n  }\n  for (; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {\n                    /* WARNING: Load size is inaccurate */\n    psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n    paVar17 = plVar31->seg;\n    plVar31->text_start = psVar11;\n                    /* WARNING: Load size is inaccurate */\n    iVar7 = *paVar17->userdata;\n    do {\n      iVar22 = iVar7;\n      iVar7 = *(int *)(iVar22 + 8);\n    } while (iVar7 != 0);\n    pfVar15 = *(fragS **)(iVar22 + 4);\n    vVar37 = get_frag_fix(pfVar15,(segT)&paVar17->userdata);\n    psVar20 = symbol_temp_new(paVar17,vVar37,pfVar15);\n    plVar31->text_end = psVar20;\n    exp_1._16_1_ = 3;\n    exp_1.X_add_number._0_4_ = 0;\n    exp_1.X_add_number._4_4_ = 0;\n    exp_1.X_add_symbol = psVar11;\n    emit_expr(&exp_1,uVar29);\n    exp_1._16_1_ = 0x14;\n    exp_1.X_add_number._0_4_ = 0;\n    exp_1.X_add_number._4_4_ = 0;\n    exp_1.X_add_symbol = psVar20;\n    exp_1.X_op_symbol = psVar11;\n    emit_expr(&exp_1,uVar29);\n  }\n  pcVar8 = frag_more(nchars);\n  number_to_chars_littleendian(pcVar8,0,uVar29);\n  number_to_chars_littleendian(pcVar8 + uVar29,0,uVar29);\n  symbol_set_value_now(psVar10);\n  uVar42 = 0;\n  paVar17 = paVar14;\n  subseg_set(paVar14,0);\n  out_uleb128(CONCAT44(uVar42,paVar17));\n  out_uleb128(CONCAT44(uVar42,paVar17));\n  uVar40 = 0;\n  frag_append_1_char(0);\n  out_uleb128(CONCAT44(uVar42,uVar40));\n  out_uleb128(CONCAT44(uVar42,uVar40));\n  if (all_segs->next == (line_seg *)0x0) {\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n  }\n  else {\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n  }\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  out_uleb128(CONCAT44(sec,psVar21));\n  frag_append_1_char(0);\n  subseg_set(secptr,0);\n  psVar21 = symbol_temp_new_now();\n  if (files_in_use != 0) {\n    if (files[1].dir != 0) {\n      pcVar8 = remap_debug_filename(dirs[files[1].dir]);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12);\n      pcVar9[sVar12] = '/';\n    }\n    sVar12 = strlen(files[1].filename);\n    pcVar8 = frag_more(sVar12 + 1);\n    memcpy(pcVar8,files[1].filename,sVar12 + 1);\n    psVar10 = symbol_temp_new_now();\n    pcVar8 = (char *)getpwd();\n    pcVar8 = remap_debug_filename(pcVar8);\n    sVar12 = strlen(pcVar8);\n    pcVar9 = frag_more(sVar12 + 1);\n    memcpy(pcVar9,pcVar8,sVar12 + 1);\n    psVar11 = symbol_temp_new_now();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    peVar41 = local_cc;\n    do {\n      peVar23 = peVar41;\n      uVar27 = (uint)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar23->X_add_symbol;\n      uVar29 = uVar27 & 0x80808080;\n      peVar41 = (expressionS *)&peVar23->X_op_symbol;\n    } while (uVar29 == 0);\n    bVar34 = (uVar27 & 0x8080) == 0;\n    if (bVar34) {\n      uVar29 = uVar29 >> 0x10;\n    }\n    ppsVar24 = &peVar23->X_op_symbol;\n    if (bVar34) {\n      ppsVar24 = (symbolS **)((int)&peVar23->X_op_symbol + 2);\n    }\n    uVar29 = (int)ppsVar24 + (-(int)local_cc - (uint)CARRY1((byte)uVar29,(byte)uVar29)) + -2;\n    pcVar8 = frag_more(uVar29);\n    if (uVar29 < 4) {\n      if (uVar29 != 0) {\n        *pcVar8 = (char)exp.X_add_symbol;\n        if ((uVar29 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);\n        }\n      }\n    }\n    else {\n      *(symbolS **)pcVar8 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar8 + (uVar29 - 4)) = *(undefined4 *)((int)&exp_1 + uVar29 + 0x10);\n      iVar7 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      puVar28 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (uVar29 = iVar7 + uVar29 >> 2; uVar29 != 0; uVar29 = uVar29 - 1) {\n        *puVar32 = *puVar28;\n        puVar28 = puVar28 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }\n    uVar18 = out_header(paVar6,&exp_1);\n    psVar20 = exp_1.X_add_symbol;\n    pcVar8 = frag_more(2);\n    number_to_chars_littleendian(pcVar8,2,2);\n    exp.X_add_symbol = section_symbol(paVar14);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    uVar27 = uVar18;\n    emit_expr(local_cc,uVar18);\n    uVar29 = sizeof_address;\n    frag_append_1_char(sizeof_address);\n    out_uleb128(CONCAT44(uVar27,uVar29));\n    exp.X_add_symbol = section_symbol(sec);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    emit_expr(local_cc,4);\n    if (all_segs->next == (line_seg *)0x0) {\n      exp_1.X_add_symbol = all_segs->text_start;\n      exp_1._16_1_ = 3;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n      exp_1._16_1_ = 3;\n      exp_1.X_add_symbol = all_segs->text_end;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n    }\n    else {\n      exp.X_add_symbol = section_symbol(local_ec);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      emit_expr(local_cc,uVar18);\n    }\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar21;\n    emit_expr(local_cc,uVar18);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar10;\n    emit_expr(local_cc,uVar18);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar11;\n    emit_expr(local_cc,uVar18);\n    pcVar8 = frag_more(2);\n    number_to_chars_littleendian(pcVar8,0x8001,2);\n    symbol_set_value_now(psVar20);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/dwarf2dbg.c",0x830,"out_debug_str");\n}" { (declaration "char **ppcVar1;" primitive_type (pointer_declarator "**ppcVar1" * (pointer_declarator "*ppcVar1" * identifier)) ;) (declaration "line_entry **pplVar2;" type_identifier (pointer_declarator "**pplVar2" * (pointer_declarator "*pplVar2" * identifier)) ;) (declaration "line_subseg *plVar3;" type_identifier (pointer_declarator "*plVar3" * identifier) ;) (declaration "line_entry *plVar4;" type_identifier (pointer_declarator "*plVar4" * identifier) ;) (declaration "segT seg;" type_identifier identifier ;) (declaration "fragS *frag;" type_identifier (pointer_declarator "*frag" * identifier) ;) (declaration "size_t nchars;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "segT paVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "asection *sec;" type_identifier (pointer_declarator "*sec" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "symbolS *psVar10;" type_identifier (pointer_declarator "*psVar10" * identifier) ;) (declaration "symbolS *psVar11;" type_identifier (pointer_declarator "*psVar11" * identifier) ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "segT paVar14;" type_identifier identifier ;) (declaration "fragS *pfVar15;" type_identifier (pointer_declarator "*pfVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "segT paVar17;" type_identifier identifier ;) (declaration "segT secptr;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "symbolS *psVar20;" type_identifier (pointer_declarator "*psVar20" * identifier) ;) (declaration "symbolS *psVar21;" type_identifier (pointer_declarator "*psVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "expressionS *peVar23;" type_identifier (pointer_declarator "*peVar23" * identifier) ;) (declaration "symbolS **ppsVar24;" type_identifier (pointer_declarator "**ppsVar24" * (pointer_declarator "*ppsVar24" * identifier)) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "byte *pbVar26;" type_identifier (pointer_declarator "*pbVar26" * identifier) ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "undefined4 *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "byte *pbVar30;" type_identifier (pointer_declarator "*pbVar30" * identifier) ;) (declaration "line_seg *plVar31;" type_identifier (pointer_declarator "*plVar31" * identifier) ;) (declaration "undefined4 *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "bool bVar33;" primitive_type identifier ;) (declaration "bool bVar34;" primitive_type identifier ;) (declaration "bool bVar35;" primitive_type identifier ;) (declaration "byte bVar36;" type_identifier identifier ;) (declaration "valueT vVar37;" type_identifier identifier ;) (declaration "undefined8 uVar38;" type_identifier identifier ;) (declaration "offsetT oVar39;" type_identifier identifier ;) (declaration "undefined4 uVar40;" type_identifier identifier ;) (declaration "expressionS *peVar41;" type_identifier (pointer_declarator "*peVar41" * identifier) ;) (declaration "undefined4 uVar42;" type_identifier identifier ;) (declaration "uint local_10c;" type_identifier identifier ;) (declaration "int local_108;" primitive_type identifier ;) (declaration "uint local_100;" type_identifier identifier ;) (declaration "symbolS *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "segT local_ec;" type_identifier identifier ;) (declaration "uint local_e8;" type_identifier identifier ;) (declaration "uint local_e4;" type_identifier identifier ;) (declaration "int local_e0;" primitive_type identifier ;) (declaration "uint local_d4;" type_identifier identifier ;) (declaration "fragS *local_d0;" type_identifier (pointer_declarator "*local_d0" * identifier) ;) (declaration "expressionS *local_cc;" type_identifier (pointer_declarator "*local_cc" * identifier) ;) (declaration "line_entry *local_c4;" type_identifier (pointer_declarator "*local_c4" * identifier) ;) (declaration "expressionS exp_1;" type_identifier identifier ;) (declaration "expressionS exp;" type_identifier identifier ;) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (expression_statement "paVar6 = (segT)bfd_get_section_by_name(stdoutput,".debug_info");" (assignment_expression "paVar6 = (segT)bfd_get_section_by_name(stdoutput,".debug_info")" identifier = (cast_expression "(segT)bfd_get_section_by_name(stdoutput,".debug_info")" ( (type_descriptor "segT" type_identifier) ) (call_expression "bfd_get_section_by_name(stdoutput,".debug_info")" identifier (argument_list "(stdoutput,".debug_info")" ( identifier , (string_literal "".debug_info"" " string_content ") ))))) ;) (expression_statement "bVar34 = true;" (assignment_expression "bVar34 = true" identifier = true) ;) (if_statement "if (paVar6 != (segT)0x0) {\n    iVar7 = seg_not_empty_p(paVar6);\n    bVar34 = iVar7 == 0;\n  }" if (parenthesized_expression "(paVar6 != (segT)0x0)" ( (binary_expression "paVar6 != (segT)0x0" identifier != (cast_expression "(segT)0x0" ( (type_descriptor "segT" type_identifier) ) number_literal)) )) (compound_statement "{\n    iVar7 = seg_not_empty_p(paVar6);\n    bVar34 = iVar7 == 0;\n  }" { (expression_statement "iVar7 = seg_not_empty_p(paVar6);" (assignment_expression "iVar7 = seg_not_empty_p(paVar6)" identifier = (call_expression "seg_not_empty_p(paVar6)" identifier (argument_list "(paVar6)" ( identifier )))) ;) (expression_statement "bVar34 = iVar7 == 0;" (assignment_expression "bVar34 = iVar7 == 0" identifier = (binary_expression "iVar7 == 0" identifier == number_literal)) ;) })) (expression_statement "paVar6 = (segT)bfd_get_section_by_name(stdoutput,".debug_line");" (assignment_expression "paVar6 = (segT)bfd_get_section_by_name(stdoutput,".debug_line")" identifier = (cast_expression "(segT)bfd_get_section_by_name(stdoutput,".debug_line")" ( (type_descriptor "segT" type_identifier) ) (call_expression "bfd_get_section_by_name(stdoutput,".debug_line")" identifier (argument_list "(stdoutput,".debug_line")" ( identifier , (string_literal "".debug_line"" " string_content ") ))))) ;) (if_statement "if ((paVar6 != (segT)0x0) && (iVar7 = seg_not_empty_p(paVar6), iVar7 != 0)) {\n    if (all_segs == (line_seg *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    as_fatal("duplicate .debug_line sections");\n  }" if (parenthesized_expression "((paVar6 != (segT)0x0) && (iVar7 = seg_not_empty_p(paVar6), iVar7 != 0))" ( (binary_expression "(paVar6 != (segT)0x0) && (iVar7 = seg_not_empty_p(paVar6), iVar7 != 0)" (parenthesized_expression "(paVar6 != (segT)0x0)" ( (binary_expression "paVar6 != (segT)0x0" identifier != (cast_expression "(segT)0x0" ( (type_descriptor "segT" type_identifier) ) number_literal)) )) && (parenthesized_expression "(iVar7 = seg_not_empty_p(paVar6), iVar7 != 0)" ( (comma_expression "iVar7 = seg_not_empty_p(paVar6), iVar7 != 0" (assignment_expression "iVar7 = seg_not_empty_p(paVar6)" identifier = (call_expression "seg_not_empty_p(paVar6)" identifier (argument_list "(paVar6)" ( identifier )))) , (binary_expression "iVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if (all_segs == (line_seg *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    as_fatal("duplicate .debug_line sections");\n  }" { (if_statement "if (all_segs == (line_seg *)0x0) {\n      return;\n    }" if (parenthesized_expression "(all_segs == (line_seg *)0x0)" ( (binary_expression "all_segs == (line_seg *)0x0" identifier == (cast_expression "(line_seg *)0x0" ( (type_descriptor "line_seg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) comment (expression_statement "as_fatal("duplicate .debug_line sections");" (call_expression "as_fatal("duplicate .debug_line sections")" identifier (argument_list "("duplicate .debug_line sections")" ( (string_literal ""duplicate .debug_line sections"" " string_content ") ))) ;) })) (if_statement "if ((all_segs == (line_seg *)0x0) && (bVar34)) {\n    return;\n  }" if (parenthesized_expression "((all_segs == (line_seg *)0x0) && (bVar34))" ( (binary_expression "(all_segs == (line_seg *)0x0) && (bVar34)" (parenthesized_expression "(all_segs == (line_seg *)0x0)" ( (binary_expression "all_segs == (line_seg *)0x0" identifier == (cast_expression "(line_seg *)0x0" ( (type_descriptor "line_seg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar34)" ( identifier ))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "sizeof_address = x86_dwarf2_addr_size();" (assignment_expression "sizeof_address = x86_dwarf2_addr_size()" identifier = (call_expression "x86_dwarf2_addr_size()" identifier (argument_list "()" ( )))) ;) (expression_statement "sec = subseg_new(".debug_line",0);" (assignment_expression "sec = subseg_new(".debug_line",0)" identifier = (call_expression "subseg_new(".debug_line",0)" identifier (argument_list "(".debug_line",0)" ( (string_literal "".debug_line"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(stdoutput,sec,0x2008);" (call_expression "bfd_set_section_flags(stdoutput,sec,0x2008)" identifier (argument_list "(stdoutput,sec,0x2008)" ( identifier , identifier , number_literal ))) ;) (for_statement "for (plVar31 = all_segs; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {\n    pplVar2 = plVar31->head->ptail;\n    for (plVar3 = plVar31->head->next; plVar3 != (line_subseg *)0x0; plVar3 = plVar3->next) {\n      *pplVar2 = plVar3->head;\n      pplVar2 = plVar3->ptail;\n    }\n  }" for ( (assignment_expression "plVar31 = all_segs" identifier = identifier) ; (binary_expression "plVar31 != (line_seg *)0x0" identifier != (cast_expression "(line_seg *)0x0" ( (type_descriptor "line_seg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "plVar31 = plVar31->next" identifier = (field_expression "plVar31->next" identifier -> field_identifier)) ) (compound_statement "{\n    pplVar2 = plVar31->head->ptail;\n    for (plVar3 = plVar31->head->next; plVar3 != (line_subseg *)0x0; plVar3 = plVar3->next) {\n      *pplVar2 = plVar3->head;\n      pplVar2 = plVar3->ptail;\n    }\n  }" { (expression_statement "pplVar2 = plVar31->head->ptail;" (assignment_expression "pplVar2 = plVar31->head->ptail" identifier = (field_expression "plVar31->head->ptail" (field_expression "plVar31->head" identifier -> field_identifier) -> field_identifier)) ;) (for_statement "for (plVar3 = plVar31->head->next; plVar3 != (line_subseg *)0x0; plVar3 = plVar3->next) {\n      *pplVar2 = plVar3->head;\n      pplVar2 = plVar3->ptail;\n    }" for ( (assignment_expression "plVar3 = plVar31->head->next" identifier = (field_expression "plVar31->head->next" (field_expression "plVar31->head" identifier -> field_identifier) -> field_identifier)) ; (binary_expression "plVar3 != (line_subseg *)0x0" identifier != (cast_expression "(line_subseg *)0x0" ( (type_descriptor "line_subseg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "plVar3 = plVar3->next" identifier = (field_expression "plVar3->next" identifier -> field_identifier)) ) (compound_statement "{\n      *pplVar2 = plVar3->head;\n      pplVar2 = plVar3->ptail;\n    }" { (expression_statement "*pplVar2 = plVar3->head;" (assignment_expression "*pplVar2 = plVar3->head" (pointer_expression "*pplVar2" * identifier) = (field_expression "plVar3->head" identifier -> field_identifier)) ;) (expression_statement "pplVar2 = plVar3->ptail;" (assignment_expression "pplVar2 = plVar3->ptail" identifier = (field_expression "plVar3->ptail" identifier -> field_identifier)) ;) })) })) (expression_statement "pcVar8 = (char *)out_header(sec,&exp_1);" (assignment_expression "pcVar8 = (char *)out_header(sec,&exp_1)" identifier = (cast_expression "(char *)out_header(sec,&exp_1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "out_header(sec,&exp_1)" identifier (argument_list "(sec,&exp_1)" ( identifier , (pointer_expression "&exp_1" & identifier) ))))) ;) (expression_statement "pcVar9 = frag_more(2);" (assignment_expression "pcVar9 = frag_more(2)" identifier = (call_expression "frag_more(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "number_to_chars_littleendian(pcVar9,2,2);" (call_expression "number_to_chars_littleendian(pcVar9,2,2)" identifier (argument_list "(pcVar9,2,2)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "psVar10 = symbol_temp_make();" (assignment_expression "psVar10 = symbol_temp_make()" identifier = (call_expression "symbol_temp_make()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar11 = symbol_temp_make();" (assignment_expression "psVar11 = symbol_temp_make()" identifier = (call_expression "symbol_temp_make()" identifier (argument_list "()" ( )))) ;) (expression_statement "exp_1._16_1_ = 0x14;" (assignment_expression "exp_1._16_1_ = 0x14" (field_expression "exp_1._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar29 = 1;" (assignment_expression "uVar29 = 1" identifier = number_literal) ;) (expression_statement "exp_1.X_add_number._0_4_ = 0;" (assignment_expression "exp_1.X_add_number._0_4_ = 0" (field_expression "exp_1.X_add_number._0_4_" (field_expression "exp_1.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp_1.X_add_number._4_4_ = 0;" (assignment_expression "exp_1.X_add_number._4_4_ = 0" (field_expression "exp_1.X_add_number._4_4_" (field_expression "exp_1.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "psVar21 = exp_1.X_add_symbol;" (assignment_expression "psVar21 = exp_1.X_add_symbol" identifier = (field_expression "exp_1.X_add_symbol" identifier . field_identifier)) ;) (expression_statement "exp_1.X_add_symbol = psVar11;" (assignment_expression "exp_1.X_add_symbol = psVar11" (field_expression "exp_1.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "exp_1.X_op_symbol = psVar10;" (assignment_expression "exp_1.X_op_symbol = psVar10" (field_expression "exp_1.X_op_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(&exp_1,(uint)pcVar8);" (call_expression "emit_expr(&exp_1,(uint)pcVar8)" identifier (argument_list "(&exp_1,(uint)pcVar8)" ( (pointer_expression "&exp_1" & identifier) , (cast_expression "(uint)pcVar8" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (expression_statement "symbol_set_value_now(psVar10);" (call_expression "symbol_set_value_now(psVar10)" identifier (argument_list "(psVar10)" ( identifier ))) ;) (expression_statement "frag_append_1_char(1);" (call_expression "frag_append_1_char(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(1);" (call_expression "frag_append_1_char(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(-5);" (call_expression "frag_append_1_char(-5)" identifier (argument_list "(-5)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(0xe);" (call_expression "frag_append_1_char(0xe)" identifier (argument_list "(0xe)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(0xd);" (call_expression "frag_append_1_char(0xd)" identifier (argument_list "(0xd)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(1);" (call_expression "frag_append_1_char(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(1);" (call_expression "frag_append_1_char(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(1);" (call_expression "frag_append_1_char(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(1);" (call_expression "frag_append_1_char(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(1);" (call_expression "frag_append_1_char(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(1);" (call_expression "frag_append_1_char(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (if_statement "if (1 < dirs_in_use) {\n    do {\n      ppcVar1 = dirs + uVar29;\n      uVar29 = uVar29 + 1;\n      pcVar8 = remap_debug_filename(*ppcVar1);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12 + 1);\n    } while (uVar29 < dirs_in_use);\n  }" if (parenthesized_expression "(1 < dirs_in_use)" ( (binary_expression "1 < dirs_in_use" number_literal < identifier) )) (compound_statement "{\n    do {\n      ppcVar1 = dirs + uVar29;\n      uVar29 = uVar29 + 1;\n      pcVar8 = remap_debug_filename(*ppcVar1);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12 + 1);\n    } while (uVar29 < dirs_in_use);\n  }" { (do_statement "do {\n      ppcVar1 = dirs + uVar29;\n      uVar29 = uVar29 + 1;\n      pcVar8 = remap_debug_filename(*ppcVar1);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12 + 1);\n    } while (uVar29 < dirs_in_use);" do (compound_statement "{\n      ppcVar1 = dirs + uVar29;\n      uVar29 = uVar29 + 1;\n      pcVar8 = remap_debug_filename(*ppcVar1);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12 + 1);\n    }" { (expression_statement "ppcVar1 = dirs + uVar29;" (assignment_expression "ppcVar1 = dirs + uVar29" identifier = (binary_expression "dirs + uVar29" identifier + identifier)) ;) (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ;) (expression_statement "pcVar8 = remap_debug_filename(*ppcVar1);" (assignment_expression "pcVar8 = remap_debug_filename(*ppcVar1)" identifier = (call_expression "remap_debug_filename(*ppcVar1)" identifier (argument_list "(*ppcVar1)" ( (pointer_expression "*ppcVar1" * identifier) )))) ;) (expression_statement "sVar12 = strlen(pcVar8);" (assignment_expression "sVar12 = strlen(pcVar8)" identifier = (call_expression "strlen(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) (expression_statement "pcVar9 = frag_more(sVar12 + 1);" (assignment_expression "pcVar9 = frag_more(sVar12 + 1)" identifier = (call_expression "frag_more(sVar12 + 1)" identifier (argument_list "(sVar12 + 1)" ( (binary_expression "sVar12 + 1" identifier + number_literal) )))) ;) (expression_statement "memcpy(pcVar9,pcVar8,sVar12 + 1);" (call_expression "memcpy(pcVar9,pcVar8,sVar12 + 1)" identifier (argument_list "(pcVar9,pcVar8,sVar12 + 1)" ( identifier , identifier , (binary_expression "sVar12 + 1" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(uVar29 < dirs_in_use)" ( (binary_expression "uVar29 < dirs_in_use" identifier < identifier) )) ;) })) (expression_statement "pcVar9 = (char *)0x1;" (assignment_expression "pcVar9 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (if_statement "if (1 < files_in_use) {\n    do {\n      while (pcVar8 = files[(int)pcVar9].filename, pcVar8 != (char *)0x0) {\n        sVar12 = strlen(pcVar8);\n        pcVar13 = frag_more(sVar12 + 1);\n        memcpy(pcVar13,pcVar8,sVar12 + 1);\n        pcVar9 = pcVar9 + 1;\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        if (files_in_use <= pcVar9) goto LAB_0001c228;\n      }\n      pcVar13 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar8 = pcVar9;\n      as_bad(pcVar13);\n      files[(int)pcVar9].filename = "";\n      pcVar9 = pcVar9 + 1;\n    } while (pcVar9 < files_in_use);\n  }" if (parenthesized_expression "(1 < files_in_use)" ( (binary_expression "1 < files_in_use" number_literal < identifier) )) (compound_statement "{\n    do {\n      while (pcVar8 = files[(int)pcVar9].filename, pcVar8 != (char *)0x0) {\n        sVar12 = strlen(pcVar8);\n        pcVar13 = frag_more(sVar12 + 1);\n        memcpy(pcVar13,pcVar8,sVar12 + 1);\n        pcVar9 = pcVar9 + 1;\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        if (files_in_use <= pcVar9) goto LAB_0001c228;\n      }\n      pcVar13 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar8 = pcVar9;\n      as_bad(pcVar13);\n      files[(int)pcVar9].filename = "";\n      pcVar9 = pcVar9 + 1;\n    } while (pcVar9 < files_in_use);\n  }" { (do_statement "do {\n      while (pcVar8 = files[(int)pcVar9].filename, pcVar8 != (char *)0x0) {\n        sVar12 = strlen(pcVar8);\n        pcVar13 = frag_more(sVar12 + 1);\n        memcpy(pcVar13,pcVar8,sVar12 + 1);\n        pcVar9 = pcVar9 + 1;\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        if (files_in_use <= pcVar9) goto LAB_0001c228;\n      }\n      pcVar13 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar8 = pcVar9;\n      as_bad(pcVar13);\n      files[(int)pcVar9].filename = "";\n      pcVar9 = pcVar9 + 1;\n    } while (pcVar9 < files_in_use);" do (compound_statement "{\n      while (pcVar8 = files[(int)pcVar9].filename, pcVar8 != (char *)0x0) {\n        sVar12 = strlen(pcVar8);\n        pcVar13 = frag_more(sVar12 + 1);\n        memcpy(pcVar13,pcVar8,sVar12 + 1);\n        pcVar9 = pcVar9 + 1;\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        if (files_in_use <= pcVar9) goto LAB_0001c228;\n      }\n      pcVar13 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar8 = pcVar9;\n      as_bad(pcVar13);\n      files[(int)pcVar9].filename = "";\n      pcVar9 = pcVar9 + 1;\n    }" { (while_statement "while (pcVar8 = files[(int)pcVar9].filename, pcVar8 != (char *)0x0) {\n        sVar12 = strlen(pcVar8);\n        pcVar13 = frag_more(sVar12 + 1);\n        memcpy(pcVar13,pcVar8,sVar12 + 1);\n        pcVar9 = pcVar9 + 1;\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        if (files_in_use <= pcVar9) goto LAB_0001c228;\n      }" while (parenthesized_expression "(pcVar8 = files[(int)pcVar9].filename, pcVar8 != (char *)0x0)" ( (comma_expression "pcVar8 = files[(int)pcVar9].filename, pcVar8 != (char *)0x0" (assignment_expression "pcVar8 = files[(int)pcVar9].filename" identifier = (field_expression "files[(int)pcVar9].filename" (subscript_expression "files[(int)pcVar9]" identifier [ (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier)) , (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n        sVar12 = strlen(pcVar8);\n        pcVar13 = frag_more(sVar12 + 1);\n        memcpy(pcVar13,pcVar8,sVar12 + 1);\n        pcVar9 = pcVar9 + 1;\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        out_uleb128(CONCAT44(pcVar8,pcVar13));\n        if (files_in_use <= pcVar9) goto LAB_0001c228;\n      }" { (expression_statement "sVar12 = strlen(pcVar8);" (assignment_expression "sVar12 = strlen(pcVar8)" identifier = (call_expression "strlen(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) (expression_statement "pcVar13 = frag_more(sVar12 + 1);" (assignment_expression "pcVar13 = frag_more(sVar12 + 1)" identifier = (call_expression "frag_more(sVar12 + 1)" identifier (argument_list "(sVar12 + 1)" ( (binary_expression "sVar12 + 1" identifier + number_literal) )))) ;) (expression_statement "memcpy(pcVar13,pcVar8,sVar12 + 1);" (call_expression "memcpy(pcVar13,pcVar8,sVar12 + 1)" identifier (argument_list "(pcVar13,pcVar8,sVar12 + 1)" ( identifier , identifier , (binary_expression "sVar12 + 1" identifier + number_literal) ))) ;) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) (expression_statement "out_uleb128(CONCAT44(pcVar8,pcVar13));" (call_expression "out_uleb128(CONCAT44(pcVar8,pcVar13))" identifier (argument_list "(CONCAT44(pcVar8,pcVar13))" ( (call_expression "CONCAT44(pcVar8,pcVar13)" identifier (argument_list "(pcVar8,pcVar13)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(pcVar8,pcVar13));" (call_expression "out_uleb128(CONCAT44(pcVar8,pcVar13))" identifier (argument_list "(CONCAT44(pcVar8,pcVar13))" ( (call_expression "CONCAT44(pcVar8,pcVar13)" identifier (argument_list "(pcVar8,pcVar13)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(pcVar8,pcVar13));" (call_expression "out_uleb128(CONCAT44(pcVar8,pcVar13))" identifier (argument_list "(CONCAT44(pcVar8,pcVar13))" ( (call_expression "CONCAT44(pcVar8,pcVar13)" identifier (argument_list "(pcVar8,pcVar13)" ( identifier , identifier ))) ))) ;) (if_statement "if (files_in_use <= pcVar9) goto LAB_0001c228;" if (parenthesized_expression "(files_in_use <= pcVar9)" ( (binary_expression "files_in_use <= pcVar9" identifier <= identifier) )) (goto_statement "goto LAB_0001c228;" goto statement_identifier ;)) })) (expression_statement "pcVar13 = (char *)dcgettext(0,"unassigned file number %ld",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"unassigned file number %ld",5)" identifier = (cast_expression "(char *)dcgettext(0,"unassigned file number %ld",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"unassigned file number %ld",5)" identifier (argument_list "(0,"unassigned file number %ld",5)" ( number_literal , (string_literal ""unassigned file number %ld"" " string_content ") , number_literal ))))) ;) (expression_statement "pcVar8 = pcVar9;" (assignment_expression "pcVar8 = pcVar9" identifier = identifier) ;) (expression_statement "as_bad(pcVar13);" (call_expression "as_bad(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (expression_statement "files[(int)pcVar9].filename = "";" (assignment_expression "files[(int)pcVar9].filename = """ (field_expression "files[(int)pcVar9].filename" (subscript_expression "files[(int)pcVar9]" identifier [ (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier) = (string_literal """" " ")) ;) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar9 < files_in_use)" ( (binary_expression "pcVar9 < files_in_use" identifier < identifier) )) ;) })) (labeled_statement "LAB_0001c228:\n  frag_append_1_char(0);" statement_identifier : (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "symbol_set_value_now(psVar11);" (call_expression "symbol_set_value_now(psVar11)" identifier (argument_list "(psVar11)" ( identifier ))) ;) (expression_statement "puVar5 = PTR__bfd_std_section_0007ffb0;" (assignment_expression "puVar5 = PTR__bfd_std_section_0007ffb0" identifier = identifier) ;) (for_statement "for (plVar31 = all_segs; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {\n    paVar6 = plVar31->seg;\n    if ((((paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180))) ||\n        (paVar6 == reg_section)) || (paVar6 == expr_section)) {\n      pcVar8 = paVar6->name;\n      as_warn("dwarf line number information for %s ignored");\n    }\n    else {\n      local_c4 = plVar31->head->head;\n      bVar33 = false;\n      bVar35 = flag_dwarf_sections == 0;\n      if (!bVar35) {\n        iVar7 = 6;\n        pbVar26 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0005b3a1;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar26 < *pbVar30;\n          bVar35 = *pbVar26 == *pbVar30;\n          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar8 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar14 = subseg_get(pcVar8,0);\n        pcVar8 = (char *)0x0;\n        subseg_set(paVar14,0);\n      }\n      local_f8 = (symbolS *)0x0;\n      local_10c = 0;\n      local_108 = 0;\n      local_d0 = (fragS *)0x0;\n      local_100 = 1;\n      local_d4 = 1;\n      local_e8 = 1;\n      uVar29 = 0;\n      uVar27 = 0;\n      do {\n        uVar18 = (local_c4->loc).filenum;\n        if (uVar18 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar19 = (local_c4->loc).column;\n        if (uVar19 != uVar29) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar8 = (char *)0x0;\n          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);\n          pcVar9 = frag_more(uVar16);\n          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar16 = (local_c4->loc).isa;\n        if (uVar16 != uVar27) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar29 = (local_c4->loc).flags;\n        uVar27 = uVar29;\n        if (((local_100 ^ uVar29) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar27 = (local_c4->loc).flags;\n          local_100 = uVar29;\n        }\n        if ((uVar27 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar10 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar15 = symbol_get_frag(psVar10);\n        vVar37 = S_GET_VALUE(psVar10);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d140:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n          frag_append_1_char(2);\n          exp._16_1_ = 3;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          peVar41 = &exp;\n          pcVar8 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar10;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }\n        plVar4 = local_c4->next;\n        local_d4 = (local_c4->loc).line;\n        free(local_c4);\n        local_10c = local_e4;\n        local_108 = local_e0;\n        uVar29 = uVar19;\n        uVar27 = uVar16;\n        local_f8 = psVar10;\n        local_e8 = uVar18;\n        local_d0 = pfVar15;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar15 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21));\n      }\n      else {\n        pcVar8 = (char *)vVar37;\n        psVar11 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar11,psVar10);\n      }\n    }\n  }" for ( (assignment_expression "plVar31 = all_segs" identifier = identifier) ; (binary_expression "plVar31 != (line_seg *)0x0" identifier != (cast_expression "(line_seg *)0x0" ( (type_descriptor "line_seg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "plVar31 = plVar31->next" identifier = (field_expression "plVar31->next" identifier -> field_identifier)) ) (compound_statement "{\n    paVar6 = plVar31->seg;\n    if ((((paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180))) ||\n        (paVar6 == reg_section)) || (paVar6 == expr_section)) {\n      pcVar8 = paVar6->name;\n      as_warn("dwarf line number information for %s ignored");\n    }\n    else {\n      local_c4 = plVar31->head->head;\n      bVar33 = false;\n      bVar35 = flag_dwarf_sections == 0;\n      if (!bVar35) {\n        iVar7 = 6;\n        pbVar26 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0005b3a1;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar26 < *pbVar30;\n          bVar35 = *pbVar26 == *pbVar30;\n          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar8 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar14 = subseg_get(pcVar8,0);\n        pcVar8 = (char *)0x0;\n        subseg_set(paVar14,0);\n      }\n      local_f8 = (symbolS *)0x0;\n      local_10c = 0;\n      local_108 = 0;\n      local_d0 = (fragS *)0x0;\n      local_100 = 1;\n      local_d4 = 1;\n      local_e8 = 1;\n      uVar29 = 0;\n      uVar27 = 0;\n      do {\n        uVar18 = (local_c4->loc).filenum;\n        if (uVar18 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar19 = (local_c4->loc).column;\n        if (uVar19 != uVar29) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar8 = (char *)0x0;\n          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);\n          pcVar9 = frag_more(uVar16);\n          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar16 = (local_c4->loc).isa;\n        if (uVar16 != uVar27) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar29 = (local_c4->loc).flags;\n        uVar27 = uVar29;\n        if (((local_100 ^ uVar29) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar27 = (local_c4->loc).flags;\n          local_100 = uVar29;\n        }\n        if ((uVar27 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar10 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar15 = symbol_get_frag(psVar10);\n        vVar37 = S_GET_VALUE(psVar10);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d140:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n          frag_append_1_char(2);\n          exp._16_1_ = 3;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          peVar41 = &exp;\n          pcVar8 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar10;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }\n        plVar4 = local_c4->next;\n        local_d4 = (local_c4->loc).line;\n        free(local_c4);\n        local_10c = local_e4;\n        local_108 = local_e0;\n        uVar29 = uVar19;\n        uVar27 = uVar16;\n        local_f8 = psVar10;\n        local_e8 = uVar18;\n        local_d0 = pfVar15;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar15 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21));\n      }\n      else {\n        pcVar8 = (char *)vVar37;\n        psVar11 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar11,psVar10);\n      }\n    }\n  }" { (expression_statement "paVar6 = plVar31->seg;" (assignment_expression "paVar6 = plVar31->seg" identifier = (field_expression "plVar31->seg" identifier -> field_identifier)) ;) (if_statement "if ((((paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180))) ||\n        (paVar6 == reg_section)) || (paVar6 == expr_section)) {\n      pcVar8 = paVar6->name;\n      as_warn("dwarf line number information for %s ignored");\n    }\n    else {\n      local_c4 = plVar31->head->head;\n      bVar33 = false;\n      bVar35 = flag_dwarf_sections == 0;\n      if (!bVar35) {\n        iVar7 = 6;\n        pbVar26 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0005b3a1;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar26 < *pbVar30;\n          bVar35 = *pbVar26 == *pbVar30;\n          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar8 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar14 = subseg_get(pcVar8,0);\n        pcVar8 = (char *)0x0;\n        subseg_set(paVar14,0);\n      }\n      local_f8 = (symbolS *)0x0;\n      local_10c = 0;\n      local_108 = 0;\n      local_d0 = (fragS *)0x0;\n      local_100 = 1;\n      local_d4 = 1;\n      local_e8 = 1;\n      uVar29 = 0;\n      uVar27 = 0;\n      do {\n        uVar18 = (local_c4->loc).filenum;\n        if (uVar18 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar19 = (local_c4->loc).column;\n        if (uVar19 != uVar29) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar8 = (char *)0x0;\n          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);\n          pcVar9 = frag_more(uVar16);\n          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar16 = (local_c4->loc).isa;\n        if (uVar16 != uVar27) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar29 = (local_c4->loc).flags;\n        uVar27 = uVar29;\n        if (((local_100 ^ uVar29) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar27 = (local_c4->loc).flags;\n          local_100 = uVar29;\n        }\n        if ((uVar27 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar10 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar15 = symbol_get_frag(psVar10);\n        vVar37 = S_GET_VALUE(psVar10);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d140:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n          frag_append_1_char(2);\n          exp._16_1_ = 3;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          peVar41 = &exp;\n          pcVar8 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar10;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }\n        plVar4 = local_c4->next;\n        local_d4 = (local_c4->loc).line;\n        free(local_c4);\n        local_10c = local_e4;\n        local_108 = local_e0;\n        uVar29 = uVar19;\n        uVar27 = uVar16;\n        local_f8 = psVar10;\n        local_e8 = uVar18;\n        local_d0 = pfVar15;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar15 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21));\n      }\n      else {\n        pcVar8 = (char *)vVar37;\n        psVar11 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar11,psVar10);\n      }\n    }" if (parenthesized_expression "((((paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180))) ||\n        (paVar6 == reg_section)) || (paVar6 == expr_section))" ( (binary_expression "(((paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180))) ||\n        (paVar6 == reg_section)) || (paVar6 == expr_section)" (parenthesized_expression "(((paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180))) ||\n        (paVar6 == reg_section))" ( (binary_expression "((paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180))) ||\n        (paVar6 == reg_section)" (parenthesized_expression "((paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180)))" ( (binary_expression "(paVar6 == (segT)(puVar5 + 0xc0)) || (paVar6 == (segT)(puVar5 + 0x180))" (parenthesized_expression "(paVar6 == (segT)(puVar5 + 0xc0))" ( (binary_expression "paVar6 == (segT)(puVar5 + 0xc0)" identifier == (call_expression "(segT)(puVar5 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(puVar5 + 0xc0)" ( (binary_expression "puVar5 + 0xc0" identifier + number_literal) )))) )) || (parenthesized_expression "(paVar6 == (segT)(puVar5 + 0x180))" ( (binary_expression "paVar6 == (segT)(puVar5 + 0x180)" identifier == (call_expression "(segT)(puVar5 + 0x180)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(puVar5 + 0x180)" ( (binary_expression "puVar5 + 0x180" identifier + number_literal) )))) ))) )) || (parenthesized_expression "(paVar6 == reg_section)" ( (binary_expression "paVar6 == reg_section" identifier == identifier) ))) )) || (parenthesized_expression "(paVar6 == expr_section)" ( (binary_expression "paVar6 == expr_section" identifier == identifier) ))) )) (compound_statement "{\n      pcVar8 = paVar6->name;\n      as_warn("dwarf line number information for %s ignored");\n    }" { (expression_statement "pcVar8 = paVar6->name;" (assignment_expression "pcVar8 = paVar6->name" identifier = (field_expression "paVar6->name" identifier -> field_identifier)) ;) (expression_statement "as_warn("dwarf line number information for %s ignored");" (call_expression "as_warn("dwarf line number information for %s ignored")" identifier (argument_list "("dwarf line number information for %s ignored")" ( (string_literal ""dwarf line number information for %s ignored"" " string_content ") ))) ;) }) (else_clause "else {\n      local_c4 = plVar31->head->head;\n      bVar33 = false;\n      bVar35 = flag_dwarf_sections == 0;\n      if (!bVar35) {\n        iVar7 = 6;\n        pbVar26 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0005b3a1;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar26 < *pbVar30;\n          bVar35 = *pbVar26 == *pbVar30;\n          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar8 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar14 = subseg_get(pcVar8,0);\n        pcVar8 = (char *)0x0;\n        subseg_set(paVar14,0);\n      }\n      local_f8 = (symbolS *)0x0;\n      local_10c = 0;\n      local_108 = 0;\n      local_d0 = (fragS *)0x0;\n      local_100 = 1;\n      local_d4 = 1;\n      local_e8 = 1;\n      uVar29 = 0;\n      uVar27 = 0;\n      do {\n        uVar18 = (local_c4->loc).filenum;\n        if (uVar18 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar19 = (local_c4->loc).column;\n        if (uVar19 != uVar29) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar8 = (char *)0x0;\n          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);\n          pcVar9 = frag_more(uVar16);\n          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar16 = (local_c4->loc).isa;\n        if (uVar16 != uVar27) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar29 = (local_c4->loc).flags;\n        uVar27 = uVar29;\n        if (((local_100 ^ uVar29) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar27 = (local_c4->loc).flags;\n          local_100 = uVar29;\n        }\n        if ((uVar27 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar10 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar15 = symbol_get_frag(psVar10);\n        vVar37 = S_GET_VALUE(psVar10);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d140:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n          frag_append_1_char(2);\n          exp._16_1_ = 3;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          peVar41 = &exp;\n          pcVar8 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar10;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }\n        plVar4 = local_c4->next;\n        local_d4 = (local_c4->loc).line;\n        free(local_c4);\n        local_10c = local_e4;\n        local_108 = local_e0;\n        uVar29 = uVar19;\n        uVar27 = uVar16;\n        local_f8 = psVar10;\n        local_e8 = uVar18;\n        local_d0 = pfVar15;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar15 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21));\n      }\n      else {\n        pcVar8 = (char *)vVar37;\n        psVar11 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar11,psVar10);\n      }\n    }" else (compound_statement "{\n      local_c4 = plVar31->head->head;\n      bVar33 = false;\n      bVar35 = flag_dwarf_sections == 0;\n      if (!bVar35) {\n        iVar7 = 6;\n        pbVar26 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0005b3a1;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar26 < *pbVar30;\n          bVar35 = *pbVar26 == *pbVar30;\n          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar8 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar14 = subseg_get(pcVar8,0);\n        pcVar8 = (char *)0x0;\n        subseg_set(paVar14,0);\n      }\n      local_f8 = (symbolS *)0x0;\n      local_10c = 0;\n      local_108 = 0;\n      local_d0 = (fragS *)0x0;\n      local_100 = 1;\n      local_d4 = 1;\n      local_e8 = 1;\n      uVar29 = 0;\n      uVar27 = 0;\n      do {\n        uVar18 = (local_c4->loc).filenum;\n        if (uVar18 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar19 = (local_c4->loc).column;\n        if (uVar19 != uVar29) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar8 = (char *)0x0;\n          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);\n          pcVar9 = frag_more(uVar16);\n          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar16 = (local_c4->loc).isa;\n        if (uVar16 != uVar27) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar29 = (local_c4->loc).flags;\n        uVar27 = uVar29;\n        if (((local_100 ^ uVar29) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar27 = (local_c4->loc).flags;\n          local_100 = uVar29;\n        }\n        if ((uVar27 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar10 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar15 = symbol_get_frag(psVar10);\n        vVar37 = S_GET_VALUE(psVar10);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d140:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n          frag_append_1_char(2);\n          exp._16_1_ = 3;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          peVar41 = &exp;\n          pcVar8 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar10;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }\n        plVar4 = local_c4->next;\n        local_d4 = (local_c4->loc).line;\n        free(local_c4);\n        local_10c = local_e4;\n        local_108 = local_e0;\n        uVar29 = uVar19;\n        uVar27 = uVar16;\n        local_f8 = psVar10;\n        local_e8 = uVar18;\n        local_d0 = pfVar15;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar15 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21));\n      }\n      else {\n        pcVar8 = (char *)vVar37;\n        psVar11 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar11,psVar10);\n      }\n    }" { (expression_statement "local_c4 = plVar31->head->head;" (assignment_expression "local_c4 = plVar31->head->head" identifier = (field_expression "plVar31->head->head" (field_expression "plVar31->head" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "bVar33 = false;" (assignment_expression "bVar33 = false" identifier = false) ;) (expression_statement "bVar35 = flag_dwarf_sections == 0;" (assignment_expression "bVar35 = flag_dwarf_sections == 0" identifier = (binary_expression "flag_dwarf_sections == 0" identifier == number_literal)) ;) (if_statement "if (!bVar35) {\n        iVar7 = 6;\n        pbVar26 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0005b3a1;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar26 < *pbVar30;\n          bVar35 = *pbVar26 == *pbVar30;\n          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar8 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar14 = subseg_get(pcVar8,0);\n        pcVar8 = (char *)0x0;\n        subseg_set(paVar14,0);\n      }" if (parenthesized_expression "(!bVar35)" ( (unary_expression "!bVar35" ! identifier) )) (compound_statement "{\n        iVar7 = 6;\n        pbVar26 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0005b3a1;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar26 < *pbVar30;\n          bVar35 = *pbVar26 == *pbVar30;\n          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar8 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar14 = subseg_get(pcVar8,0);\n        pcVar8 = (char *)0x0;\n        subseg_set(paVar14,0);\n      }" { (expression_statement "iVar7 = 6;" (assignment_expression "iVar7 = 6" identifier = number_literal) ;) (expression_statement "pbVar26 = (byte *)paVar6->name;" (assignment_expression "pbVar26 = (byte *)paVar6->name" identifier = (cast_expression "(byte *)paVar6->name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "paVar6->name" identifier -> field_identifier))) ;) (expression_statement "pbVar30 = &DAT_0005b3a1;" (assignment_expression "pbVar30 = &DAT_0005b3a1" identifier = (pointer_expression "&DAT_0005b3a1" & identifier)) ;) (do_statement "do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar26 < *pbVar30;\n          bVar35 = *pbVar26 == *pbVar30;\n          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);" do (compound_statement "{\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar26 < *pbVar30;\n          bVar35 = *pbVar26 == *pbVar30;\n          pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar33 = *pbVar26 < *pbVar30;" (assignment_expression "bVar33 = *pbVar26 < *pbVar30" identifier = (binary_expression "*pbVar26 < *pbVar30" (pointer_expression "*pbVar26" * identifier) < (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "bVar35 = *pbVar26 == *pbVar30;" (assignment_expression "bVar35 = *pbVar26 == *pbVar30" identifier = (binary_expression "*pbVar26 == *pbVar30" (pointer_expression "*pbVar26" * identifier) == (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar36 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar36 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar36 * -2" identifier + (binary_expression "(uint)bVar36 * -2" (cast_expression "(uint)bVar36" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;" (assignment_expression "pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1" identifier = (binary_expression "pbVar30 + (uint)bVar36 * -2 + 1" (binary_expression "pbVar30 + (uint)bVar36 * -2" identifier + (binary_expression "(uint)bVar36 * -2" (cast_expression "(uint)bVar36" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar35)" ( identifier )) ;) (expression_statement "pcVar8 = ".debug_line";" (assignment_expression "pcVar8 = ".debug_line"" identifier = (string_literal "".debug_line"" " string_content ")) ;) (if_statement "if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);\n        }" if (parenthesized_expression "((!bVar33 && !bVar35) != bVar33)" ( (binary_expression "(!bVar33 && !bVar35) != bVar33" (parenthesized_expression "(!bVar33 && !bVar35)" ( (binary_expression "!bVar33 && !bVar35" (unary_expression "!bVar33" ! identifier) && (unary_expression "!bVar35" ! identifier)) )) != identifier) )) (compound_statement "{\n          pcVar8 = (char *)concat(".debug_line",paVar6->name,0);\n        }" { (expression_statement "pcVar8 = (char *)concat(".debug_line",paVar6->name,0);" (assignment_expression "pcVar8 = (char *)concat(".debug_line",paVar6->name,0)" identifier = (cast_expression "(char *)concat(".debug_line",paVar6->name,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(".debug_line",paVar6->name,0)" identifier (argument_list "(".debug_line",paVar6->name,0)" ( (string_literal "".debug_line"" " string_content ") , (field_expression "paVar6->name" identifier -> field_identifier) , number_literal ))))) ;) })) (expression_statement "paVar14 = subseg_get(pcVar8,0);" (assignment_expression "paVar14 = subseg_get(pcVar8,0)" identifier = (call_expression "subseg_get(pcVar8,0)" identifier (argument_list "(pcVar8,0)" ( identifier , number_literal )))) ;) (expression_statement "pcVar8 = (char *)0x0;" (assignment_expression "pcVar8 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "subseg_set(paVar14,0);" (call_expression "subseg_set(paVar14,0)" identifier (argument_list "(paVar14,0)" ( identifier , number_literal ))) ;) })) (expression_statement "local_f8 = (symbolS *)0x0;" (assignment_expression "local_f8 = (symbolS *)0x0" identifier = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_10c = 0;" (assignment_expression "local_10c = 0" identifier = number_literal) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = (fragS *)0x0;" (assignment_expression "local_d0 = (fragS *)0x0" identifier = (cast_expression "(fragS *)0x0" ( (type_descriptor "fragS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_100 = 1;" (assignment_expression "local_100 = 1" identifier = number_literal) ;) (expression_statement "local_d4 = 1;" (assignment_expression "local_d4 = 1" identifier = number_literal) ;) (expression_statement "local_e8 = 1;" (assignment_expression "local_e8 = 1" identifier = number_literal) ;) (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar18 = (local_c4->loc).filenum;\n        if (uVar18 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar19 = (local_c4->loc).column;\n        if (uVar19 != uVar29) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar8 = (char *)0x0;\n          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);\n          pcVar9 = frag_more(uVar16);\n          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar16 = (local_c4->loc).isa;\n        if (uVar16 != uVar27) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar29 = (local_c4->loc).flags;\n        uVar27 = uVar29;\n        if (((local_100 ^ uVar29) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar27 = (local_c4->loc).flags;\n          local_100 = uVar29;\n        }\n        if ((uVar27 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar10 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar15 = symbol_get_frag(psVar10);\n        vVar37 = S_GET_VALUE(psVar10);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d140:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n          frag_append_1_char(2);\n          exp._16_1_ = 3;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          peVar41 = &exp;\n          pcVar8 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar10;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }\n        plVar4 = local_c4->next;\n        local_d4 = (local_c4->loc).line;\n        free(local_c4);\n        local_10c = local_e4;\n        local_108 = local_e0;\n        uVar29 = uVar19;\n        uVar27 = uVar16;\n        local_f8 = psVar10;\n        local_e8 = uVar18;\n        local_d0 = pfVar15;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);" do (compound_statement "{\n        uVar18 = (local_c4->loc).filenum;\n        if (uVar18 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar19 = (local_c4->loc).column;\n        if (uVar19 != uVar29) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar8 = (char *)0x0;\n          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);\n          pcVar9 = frag_more(uVar16);\n          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar16 = (local_c4->loc).isa;\n        if (uVar16 != uVar27) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }\n        uVar29 = (local_c4->loc).flags;\n        uVar27 = uVar29;\n        if (((local_100 ^ uVar29) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar27 = (local_c4->loc).flags;\n          local_100 = uVar29;\n        }\n        if ((uVar27 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar27 = (local_c4->loc).flags;\n        }\n        if ((uVar27 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar10 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar15 = symbol_get_frag(psVar10);\n        vVar37 = S_GET_VALUE(psVar10);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d140:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n          frag_append_1_char(2);\n          exp._16_1_ = 3;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          peVar41 = &exp;\n          pcVar8 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar10;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }\n        plVar4 = local_c4->next;\n        local_d4 = (local_c4->loc).line;\n        free(local_c4);\n        local_10c = local_e4;\n        local_108 = local_e0;\n        uVar29 = uVar19;\n        uVar27 = uVar16;\n        local_f8 = psVar10;\n        local_e8 = uVar18;\n        local_d0 = pfVar15;\n        local_c4 = plVar4;\n      }" { (expression_statement "uVar18 = (local_c4->loc).filenum;" (assignment_expression "uVar18 = (local_c4->loc).filenum" identifier = (field_expression "(local_c4->loc).filenum" (parenthesized_expression "(local_c4->loc)" ( (field_expression "local_c4->loc" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar18 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }" if (parenthesized_expression "(uVar18 != local_e8)" ( (binary_expression "uVar18 != local_e8" identifier != identifier) )) (compound_statement "{\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }" { (expression_statement "uVar40 = 4;" (assignment_expression "uVar40 = 4" identifier = number_literal) ;) (expression_statement "frag_append_1_char(4);" (call_expression "frag_append_1_char(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(pcVar8,uVar40));" (call_expression "out_uleb128(CONCAT44(pcVar8,uVar40))" identifier (argument_list "(CONCAT44(pcVar8,uVar40))" ( (call_expression "CONCAT44(pcVar8,uVar40)" identifier (argument_list "(pcVar8,uVar40)" ( identifier , identifier ))) ))) ;) })) (expression_statement "uVar19 = (local_c4->loc).column;" (assignment_expression "uVar19 = (local_c4->loc).column" identifier = (field_expression "(local_c4->loc).column" (parenthesized_expression "(local_c4->loc)" ( (field_expression "local_c4->loc" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar19 != uVar29) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }" if (parenthesized_expression "(uVar19 != uVar29)" ( (binary_expression "uVar19 != uVar29" identifier != identifier) )) (compound_statement "{\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }" { (expression_statement "uVar40 = 5;" (assignment_expression "uVar40 = 5" identifier = number_literal) ;) (expression_statement "frag_append_1_char(5);" (call_expression "frag_append_1_char(5)" identifier (argument_list "(5)" ( number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(pcVar8,uVar40));" (call_expression "out_uleb128(CONCAT44(pcVar8,uVar40))" identifier (argument_list "(CONCAT44(pcVar8,uVar40))" ( (call_expression "CONCAT44(pcVar8,uVar40)" identifier (argument_list "(pcVar8,uVar40)" ( identifier , identifier ))) ))) ;) })) (if_statement "if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar8 = (char *)0x0;\n          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);\n          pcVar9 = frag_more(uVar16);\n          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }" if (parenthesized_expression "((local_c4->loc).discriminator != 0)" ( (binary_expression "(local_c4->loc).discriminator != 0" (field_expression "(local_c4->loc).discriminator" (parenthesized_expression "(local_c4->loc)" ( (field_expression "local_c4->loc" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\n          frag_append_1_char(0);\n          uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar8 = (char *)0x0;\n          uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);\n          pcVar9 = frag_more(uVar16);\n          output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }" { (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);" (assignment_expression "uVar29 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0)" identifier = (call_expression "sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0)" identifier (argument_list "((ulonglong)(local_c4->loc).discriminator,0)" ( (field_expression "(ulonglong)(local_c4->loc).discriminator" (call_expression "(ulonglong)(local_c4->loc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(local_c4->loc)" ( (field_expression "local_c4->loc" identifier -> field_identifier) ))) . field_identifier) , number_literal )))) ;) (expression_statement "pcVar8 = (char *)0x0;" (assignment_expression "pcVar8 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1);" (assignment_expression "uVar16 = sizeof_leb128((ulonglong)(uVar29 + 1),1)" identifier = (call_expression "sizeof_leb128((ulonglong)(uVar29 + 1),1)" identifier (argument_list "((ulonglong)(uVar29 + 1),1)" ( (call_expression "(ulonglong)(uVar29 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uVar29 + 1)" ( (binary_expression "uVar29 + 1" identifier + number_literal) ))) , number_literal )))) ;) (expression_statement "pcVar9 = frag_more(uVar16);" (assignment_expression "pcVar9 = frag_more(uVar16)" identifier = (call_expression "frag_more(uVar16)" identifier (argument_list "(uVar16)" ( identifier )))) ;) (expression_statement "output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1);" (call_expression "output_leb128(pcVar9,(ulonglong)(uVar29 + 1),1)" identifier (argument_list "(pcVar9,(ulonglong)(uVar29 + 1),1)" ( identifier , (call_expression "(ulonglong)(uVar29 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uVar29 + 1)" ( (binary_expression "uVar29 + 1" identifier + number_literal) ))) , number_literal ))) ;) (expression_statement "uVar40 = 4;" (assignment_expression "uVar40 = 4" identifier = number_literal) ;) (expression_statement "frag_append_1_char(4);" (call_expression "frag_append_1_char(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(pcVar8,uVar40));" (call_expression "out_uleb128(CONCAT44(pcVar8,uVar40))" identifier (argument_list "(CONCAT44(pcVar8,uVar40))" ( (call_expression "CONCAT44(pcVar8,uVar40)" identifier (argument_list "(pcVar8,uVar40)" ( identifier , identifier ))) ))) ;) })) (expression_statement "uVar16 = (local_c4->loc).isa;" (assignment_expression "uVar16 = (local_c4->loc).isa" identifier = (field_expression "(local_c4->loc).isa" (parenthesized_expression "(local_c4->loc)" ( (field_expression "local_c4->loc" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar16 != uVar27) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }" if (parenthesized_expression "(uVar16 != uVar27)" ( (binary_expression "uVar16 != uVar27" identifier != identifier) )) (compound_statement "{\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n        }" { (expression_statement "uVar40 = 0xc;" (assignment_expression "uVar40 = 0xc" identifier = number_literal) ;) (expression_statement "frag_append_1_char(0xc);" (call_expression "frag_append_1_char(0xc)" identifier (argument_list "(0xc)" ( number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(pcVar8,uVar40));" (call_expression "out_uleb128(CONCAT44(pcVar8,uVar40))" identifier (argument_list "(CONCAT44(pcVar8,uVar40))" ( (call_expression "CONCAT44(pcVar8,uVar40)" identifier (argument_list "(pcVar8,uVar40)" ( identifier , identifier ))) ))) ;) })) (expression_statement "uVar29 = (local_c4->loc).flags;" (assignment_expression "uVar29 = (local_c4->loc).flags" identifier = (field_expression "(local_c4->loc).flags" (parenthesized_expression "(local_c4->loc)" ( (field_expression "local_c4->loc" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar27 = uVar29;" (assignment_expression "uVar27 = uVar29" identifier = identifier) ;) (if_statement "if (((local_100 ^ uVar29) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar27 = (local_c4->loc).flags;\n          local_100 = uVar29;\n        }" if (parenthesized_expression "(((local_100 ^ uVar29) & 1) != 0)" ( (binary_expression "((local_100 ^ uVar29) & 1) != 0" (parenthesized_expression "((local_100 ^ uVar29) & 1)" ( (binary_expression "(local_100 ^ uVar29) & 1" (parenthesized_expression "(local_100 ^ uVar29)" ( (binary_expression "local_100 ^ uVar29" identifier ^ identifier) )) & number_literal) )) != number_literal) )) (compound_statement "{\n          frag_append_1_char(6);\n          uVar27 = (local_c4->loc).flags;\n          local_100 = uVar29;\n        }" { (expression_statement "frag_append_1_char(6);" (call_expression "frag_append_1_char(6)" identifier (argument_list "(6)" ( number_literal ))) ;) (expression_statement "uVar27 = (local_c4->loc).flags;" (assignment_expression "uVar27 = (local_c4->loc).flags" identifier = (field_expression "(local_c4->loc).flags" (parenthesized_expression "(local_c4->loc)" ( (field_expression "local_c4->loc" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "local_100 = uVar29;" (assignment_expression "local_100 = uVar29" identifier = identifier) ;) })) (if_statement "if ((uVar27 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar27 = (local_c4->loc).flags;\n        }" if (parenthesized_expression "((uVar27 & 2) != 0)" ( (binary_expression "(uVar27 & 2) != 0" (parenthesized_expression "(uVar27 & 2)" ( (binary_expression "uVar27 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          frag_append_1_char(7);\n          uVar27 = (local_c4->loc).flags;\n        }" { (expression_statement "frag_append_1_char(7);" (call_expression "frag_append_1_char(7)" identifier (argument_list "(7)" ( number_literal ))) ;) (expression_statement "uVar27 = (local_c4->loc).flags;" (assignment_expression "uVar27 = (local_c4->loc).flags" identifier = (field_expression "(local_c4->loc).flags" (parenthesized_expression "(local_c4->loc)" ( (field_expression "local_c4->loc" identifier -> field_identifier) )) . field_identifier)) ;) })) (if_statement "if ((uVar27 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar27 = (local_c4->loc).flags;\n        }" if (parenthesized_expression "((uVar27 & 4) != 0)" ( (binary_expression "(uVar27 & 4) != 0" (parenthesized_expression "(uVar27 & 4)" ( (binary_expression "uVar27 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          frag_append_1_char(10);\n          uVar27 = (local_c4->loc).flags;\n        }" { (expression_statement "frag_append_1_char(10);" (call_expression "frag_append_1_char(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "uVar27 = (local_c4->loc).flags;" (assignment_expression "uVar27 = (local_c4->loc).flags" identifier = (field_expression "(local_c4->loc).flags" (parenthesized_expression "(local_c4->loc)" ( (field_expression "local_c4->loc" identifier -> field_identifier) )) . field_identifier)) ;) })) (if_statement "if ((uVar27 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }" if (parenthesized_expression "((uVar27 & 8) != 0)" ( (binary_expression "(uVar27 & 8) != 0" (parenthesized_expression "(uVar27 & 8)" ( (binary_expression "uVar27 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          frag_append_1_char(0xb);\n        }" { (expression_statement "frag_append_1_char(0xb);" (call_expression "frag_append_1_char(0xb)" identifier (argument_list "(0xb)" ( number_literal ))) ;) })) (expression_statement "psVar10 = local_c4->label;" (assignment_expression "psVar10 = local_c4->label" identifier = (field_expression "local_c4->label" identifier -> field_identifier)) ;) (expression_statement "iVar7 = (local_c4->loc).line - local_d4;" (assignment_expression "iVar7 = (local_c4->loc).line - local_d4" identifier = (binary_expression "(local_c4->loc).line - local_d4" (field_expression "(local_c4->loc).line" (parenthesized_expression "(local_c4->loc)" ( (field_expression "local_c4->loc" identifier -> field_identifier) )) . field_identifier) - identifier)) ;) (expression_statement "pfVar15 = symbol_get_frag(psVar10);" (assignment_expression "pfVar15 = symbol_get_frag(psVar10)" identifier = (call_expression "symbol_get_frag(psVar10)" identifier (argument_list "(psVar10)" ( identifier )))) ;) (expression_statement "vVar37 = S_GET_VALUE(psVar10);" (assignment_expression "vVar37 = S_GET_VALUE(psVar10)" identifier = (call_expression "S_GET_VALUE(psVar10)" identifier (argument_list "(psVar10)" ( identifier )))) ;) (expression_statement "local_e4 = (uint)vVar37;" (assignment_expression "local_e4 = (uint)vVar37" identifier = (cast_expression "(uint)vVar37" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_e0 = (int)(vVar37 >> 0x20);" (assignment_expression "local_e0 = (int)(vVar37 >> 0x20)" identifier = (cast_expression "(int)(vVar37 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(vVar37 >> 0x20)" ( (binary_expression "vVar37 >> 0x20" identifier >> number_literal) )))) ;) (if_statement "if (local_d0 == (fragS *)0x0) {\nLAB_0001d140:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n          frag_append_1_char(2);\n          exp._16_1_ = 3;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          peVar41 = &exp;\n          pcVar8 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar10;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }" if (parenthesized_expression "(local_d0 == (fragS *)0x0)" ( (binary_expression "local_d0 == (fragS *)0x0" identifier == (cast_expression "(fragS *)0x0" ( (type_descriptor "fragS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0001d140:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar8,uVar40));\n          frag_append_1_char(2);\n          exp._16_1_ = 3;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          peVar41 = &exp;\n          pcVar8 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar10;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));\n        }" { (labeled_statement "LAB_0001d140:\n          uVar40 = 0;" statement_identifier : (expression_statement "uVar40 = 0;" (assignment_expression "uVar40 = 0" identifier = number_literal) ;)) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(pcVar8,uVar40));" (call_expression "out_uleb128(CONCAT44(pcVar8,uVar40))" identifier (argument_list "(CONCAT44(pcVar8,uVar40))" ( (call_expression "CONCAT44(pcVar8,uVar40)" identifier (argument_list "(pcVar8,uVar40)" ( identifier , identifier ))) ))) ;) (expression_statement "frag_append_1_char(2);" (call_expression "frag_append_1_char(2)" identifier (argument_list "(2)" ( number_literal ))) ;) (expression_statement "exp._16_1_ = 3;" (assignment_expression "exp._16_1_ = 3" (field_expression "exp._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._0_4_ = 0;" (assignment_expression "exp.X_add_number._0_4_ = 0" (field_expression "exp.X_add_number._0_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._4_4_ = 0;" (assignment_expression "exp.X_add_number._4_4_ = 0" (field_expression "exp.X_add_number._4_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "peVar41 = &exp;" (assignment_expression "peVar41 = &exp" identifier = (pointer_expression "&exp" & identifier)) ;) (expression_statement "pcVar8 = (char *)sizeof_address;" (assignment_expression "pcVar8 = (char *)sizeof_address" identifier = (cast_expression "(char *)sizeof_address" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "exp.X_add_symbol = psVar10;" (assignment_expression "exp.X_add_symbol = psVar10" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(&exp,sizeof_address);" (call_expression "emit_expr(&exp,sizeof_address)" identifier (argument_list "(&exp,sizeof_address)" ( (pointer_expression "&exp" & identifier) , identifier ))) ;) (expression_statement "out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41));" (call_expression "out_inc_line_addr(iVar7,CONCAT44(pcVar8,peVar41))" identifier (argument_list "(iVar7,CONCAT44(pcVar8,peVar41))" ( identifier , (call_expression "CONCAT44(pcVar8,peVar41)" identifier (argument_list "(pcVar8,peVar41)" ( identifier , identifier ))) ))) ;) }) (else_clause "else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }" else (compound_statement "{\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }\n        }" { (if_statement "if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }" if (parenthesized_expression "(((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0))" ( (binary_expression "((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)" (parenthesized_expression "((local_c4->loc).view == force_reset_view)" ( (binary_expression "(local_c4->loc).view == force_reset_view" (field_expression "(local_c4->loc).view" (parenthesized_expression "(local_c4->loc)" ( (field_expression "local_c4->loc" identifier -> field_identifier) )) . field_identifier) == identifier) )) && (parenthesized_expression "(force_reset_view != (symbolS *)0x0)" ( (binary_expression "force_reset_view != (symbolS *)0x0" identifier != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }" { (if_statement "if (pfVar15 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;" if (parenthesized_expression "(pfVar15 == local_d0)" ( (binary_expression "pfVar15 == local_d0" identifier == identifier) )) (compound_statement "{\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;\n            }" { (if_statement "if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c468;" if (parenthesized_expression "(local_e0 != local_108 || local_e4 != local_10c)" ( (binary_expression "local_e0 != local_108 || local_e4 != local_10c" (binary_expression "local_e0 != local_108" identifier != identifier) || (binary_expression "local_e4 != local_10c" identifier != identifier)) )) (goto_statement "goto LAB_0001c468;" goto statement_identifier ;)) }) (else_clause "else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;" else (if_statement "if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)) goto LAB_0001c478;" if (parenthesized_expression "((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0))" ( (binary_expression "(local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)" (parenthesized_expression "(local_e0 != 0 || local_e4 != 0)" ( (binary_expression "local_e0 != 0 || local_e4 != 0" (binary_expression "local_e0 != 0" identifier != number_literal) || (binary_expression "local_e4 != 0" identifier != number_literal)) )) || (parenthesized_expression "(oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0)" ( (comma_expression "oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0" (assignment_expression "oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata)" identifier = (call_expression "get_frag_fix(local_d0,(segT)&paVar6->userdata)" identifier (argument_list "(local_d0,(segT)&paVar6->userdata)" ( identifier , (binary_expression "(segT)&paVar6->userdata" (parenthesized_expression "(segT)" ( identifier )) & (field_expression "paVar6->userdata" identifier -> field_identifier)) )))) , (comma_expression "iVar25 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0" (assignment_expression "iVar25 = (int)((ulonglong)oVar39 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)oVar39 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)oVar39 >> 0x20)" ( (binary_expression "(ulonglong)oVar39 >> 0x20" (cast_expression "(ulonglong)oVar39" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) , (comma_expression "uVar29 = (uint)(local_10c < (uint)oVar39), iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0" (assignment_expression "uVar29 = (uint)(local_10c < (uint)oVar39)" identifier = (call_expression "(uint)(local_10c < (uint)oVar39)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_10c < (uint)oVar39)" ( (binary_expression "local_10c < (uint)oVar39" identifier < (cast_expression "(uint)oVar39" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (comma_expression "iVar22 = local_108 - iVar25,\n                    (SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0" (assignment_expression "iVar22 = local_108 - iVar25" identifier = (binary_expression "local_108 - iVar25" identifier - identifier)) , (binary_expression "(SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)) !=\n                    (int)(iVar22 - uVar29) < 0" (parenthesized_expression "(SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29))" ( (binary_expression "SBORROW4(local_108,iVar25) != SBORROW4(iVar22,uVar29)" (call_expression "SBORROW4(local_108,iVar25)" identifier (argument_list "(local_108,iVar25)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar22,uVar29)" identifier (argument_list "(iVar22,uVar29)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar22 - uVar29) < 0" (cast_expression "(int)(iVar22 - uVar29)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar22 - uVar29)" ( (binary_expression "iVar22 - uVar29" identifier - identifier) ))) < number_literal)))))) ))) )) (goto_statement "goto LAB_0001c478;" goto statement_identifier ;)))) (goto_statement "goto LAB_0001d140;" goto statement_identifier ;) })) (if_statement "if (pfVar15 == local_d0) {\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }\n          else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }" if (parenthesized_expression "(pfVar15 == local_d0)" ( (binary_expression "pfVar15 == local_d0" identifier == identifier) )) (compound_statement "{\nLAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));\n          }" { (labeled_statement "LAB_0001c468:\n            if (linkrelax != 0) goto LAB_0001c478;" statement_identifier : (if_statement "if (linkrelax != 0) goto LAB_0001c478;" if (parenthesized_expression "(linkrelax != 0)" ( (binary_expression "linkrelax != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001c478;" goto statement_identifier ;))) (expression_statement "out_inc_line_addr(iVar7,CONCAT44(sec,psVar21));" (call_expression "out_inc_line_addr(iVar7,CONCAT44(sec,psVar21))" identifier (argument_list "(iVar7,CONCAT44(sec,psVar21))" ( identifier , (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) }) (else_clause "else {\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }" else (compound_statement "{\nLAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);\n          }" { (labeled_statement "LAB_0001c478:\n            relax_inc_line_addr(iVar7,psVar10,local_f8);" statement_identifier : (expression_statement "relax_inc_line_addr(iVar7,psVar10,local_f8);" (call_expression "relax_inc_line_addr(iVar7,psVar10,local_f8)" identifier (argument_list "(iVar7,psVar10,local_f8)" ( identifier , identifier , identifier ))) ;)) }))) }))) (expression_statement "plVar4 = local_c4->next;" (assignment_expression "plVar4 = local_c4->next" identifier = (field_expression "local_c4->next" identifier -> field_identifier)) ;) (expression_statement "local_d4 = (local_c4->loc).line;" (assignment_expression "local_d4 = (local_c4->loc).line" identifier = (field_expression "(local_c4->loc).line" (parenthesized_expression "(local_c4->loc)" ( (field_expression "local_c4->loc" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "free(local_c4);" (call_expression "free(local_c4)" identifier (argument_list "(local_c4)" ( identifier ))) ;) (expression_statement "local_10c = local_e4;" (assignment_expression "local_10c = local_e4" identifier = identifier) ;) (expression_statement "local_108 = local_e0;" (assignment_expression "local_108 = local_e0" identifier = identifier) ;) (expression_statement "uVar29 = uVar19;" (assignment_expression "uVar29 = uVar19" identifier = identifier) ;) (expression_statement "uVar27 = uVar16;" (assignment_expression "uVar27 = uVar16" identifier = identifier) ;) (expression_statement "local_f8 = psVar10;" (assignment_expression "local_f8 = psVar10" identifier = identifier) ;) (expression_statement "local_e8 = uVar18;" (assignment_expression "local_e8 = uVar18" identifier = identifier) ;) (expression_statement "local_d0 = pfVar15;" (assignment_expression "local_d0 = pfVar15" identifier = identifier) ;) (expression_statement "local_c4 = plVar4;" (assignment_expression "local_c4 = plVar4" identifier = identifier) ;) }) while (parenthesized_expression "(plVar4 != (line_entry *)0x0)" ( (binary_expression "plVar4 != (line_entry *)0x0" identifier != (cast_expression "(line_entry *)0x0" ( (type_descriptor "line_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) comment (expression_statement "iVar7 = *paVar6->userdata;" (assignment_expression "iVar7 = *paVar6->userdata" identifier = (pointer_expression "*paVar6->userdata" * (field_expression "paVar6->userdata" identifier -> field_identifier))) ;) (do_statement "do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);" do (compound_statement "{\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      }" { (expression_statement "iVar22 = iVar7;" (assignment_expression "iVar22 = iVar7" identifier = identifier) ;) (expression_statement "iVar7 = *(int *)(iVar22 + 8);" (assignment_expression "iVar7 = *(int *)(iVar22 + 8)" identifier = (pointer_expression "*(int *)(iVar22 + 8)" * (cast_expression "(int *)(iVar22 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 8)" ( (binary_expression "iVar22 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) (expression_statement "frag = *(fragS **)(iVar22 + 4);" (assignment_expression "frag = *(fragS **)(iVar22 + 4)" identifier = (pointer_expression "*(fragS **)(iVar22 + 4)" * (cast_expression "(fragS **)(iVar22 + 4)" ( (type_descriptor "fragS **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar22 + 4)" ( (binary_expression "iVar22 + 4" identifier + number_literal) ))))) ;) (expression_statement "vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);" (assignment_expression "vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata)" identifier = (call_expression "get_frag_fix(frag,(segT)&paVar6->userdata)" identifier (argument_list "(frag,(segT)&paVar6->userdata)" ( identifier , (binary_expression "(segT)&paVar6->userdata" (parenthesized_expression "(segT)" ( identifier )) & (field_expression "paVar6->userdata" identifier -> field_identifier)) )))) ;) (if_statement "if ((pfVar15 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21));\n      }\n      else {\n        pcVar8 = (char *)vVar37;\n        psVar11 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar11,psVar10);\n      }" if (parenthesized_expression "((pfVar15 == frag) && (linkrelax == 0))" ( (binary_expression "(pfVar15 == frag) && (linkrelax == 0)" (parenthesized_expression "(pfVar15 == frag)" ( (binary_expression "pfVar15 == frag" identifier == identifier) )) && (parenthesized_expression "(linkrelax == 0)" ( (binary_expression "linkrelax == 0" identifier == number_literal) ))) )) (compound_statement "{\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21));\n      }" { (expression_statement "out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21));" (call_expression "out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar21))" identifier (argument_list "(0x7fffffff,CONCAT44(sec,psVar21))" ( number_literal , (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) }) (else_clause "else {\n        pcVar8 = (char *)vVar37;\n        psVar11 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar11,psVar10);\n      }" else (compound_statement "{\n        pcVar8 = (char *)vVar37;\n        psVar11 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar11,psVar10);\n      }" { (expression_statement "pcVar8 = (char *)vVar37;" (assignment_expression "pcVar8 = (char *)vVar37" identifier = (cast_expression "(char *)vVar37" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar11 = symbol_temp_new(paVar6,vVar37,frag);" (assignment_expression "psVar11 = symbol_temp_new(paVar6,vVar37,frag)" identifier = (call_expression "symbol_temp_new(paVar6,vVar37,frag)" identifier (argument_list "(paVar6,vVar37,frag)" ( identifier , identifier , identifier )))) ;) (expression_statement "relax_inc_line_addr(0x7fffffff,psVar11,psVar10);" (call_expression "relax_inc_line_addr(0x7fffffff,psVar11,psVar10)" identifier (argument_list "(0x7fffffff,psVar11,psVar10)" ( number_literal , identifier , identifier ))) ;) }))) }))) })) (if_statement "if (flag_dwarf_sections != 0) {\n    paVar6 = subseg_get(".debug_line_end",0);\n    subseg_set(paVar6,0);\n  }" if (parenthesized_expression "(flag_dwarf_sections != 0)" ( (binary_expression "flag_dwarf_sections != 0" identifier != number_literal) )) (compound_statement "{\n    paVar6 = subseg_get(".debug_line_end",0);\n    subseg_set(paVar6,0);\n  }" { (expression_statement "paVar6 = subseg_get(".debug_line_end",0);" (assignment_expression "paVar6 = subseg_get(".debug_line_end",0)" identifier = (call_expression "subseg_get(".debug_line_end",0)" identifier (argument_list "(".debug_line_end",0)" ( (string_literal "".debug_line_end"" " string_content ") , number_literal )))) ;) (expression_statement "subseg_set(paVar6,0);" (call_expression "subseg_set(paVar6,0)" identifier (argument_list "(paVar6,0)" ( identifier , number_literal ))) ;) })) (expression_statement "symbol_set_value_now(psVar21);" (call_expression "symbol_set_value_now(psVar21)" identifier (argument_list "(psVar21)" ( identifier ))) ;) (if_statement "if (!bVar34) {\n    return;\n  }" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (all_segs == (line_seg *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish");\n  }" if (parenthesized_expression "(all_segs == (line_seg *)0x0)" ( (binary_expression "all_segs == (line_seg *)0x0" identifier == (cast_expression "(line_seg *)0x0" ( (type_descriptor "line_seg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish");\n  }" { comment (expression_statement "as_abort("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish");" (call_expression "as_abort("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish")" identifier (argument_list "("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish")" ( (string_literal ""../../gas/dwarf2dbg.c"" " string_content ") , number_literal , (string_literal ""dwarf2_finish"" " string_content ") ))) ;) })) (expression_statement "paVar6 = subseg_new(".debug_info",0);" (assignment_expression "paVar6 = subseg_new(".debug_info",0)" identifier = (call_expression "subseg_new(".debug_info",0)" identifier (argument_list "(".debug_info",0)" ( (string_literal "".debug_info"" " string_content ") , number_literal )))) ;) (expression_statement "paVar14 = subseg_new(".debug_abbrev",0);" (assignment_expression "paVar14 = subseg_new(".debug_abbrev",0)" identifier = (call_expression "subseg_new(".debug_abbrev",0)" identifier (argument_list "(".debug_abbrev",0)" ( (string_literal "".debug_abbrev"" " string_content ") , number_literal )))) ;) (expression_statement "paVar17 = subseg_new(".debug_aranges",0);" (assignment_expression "paVar17 = subseg_new(".debug_aranges",0)" identifier = (call_expression "subseg_new(".debug_aranges",0)" identifier (argument_list "(".debug_aranges",0)" ( (string_literal "".debug_aranges"" " string_content ") , number_literal )))) ;) (expression_statement "secptr = subseg_new(".debug_str",0);" (assignment_expression "secptr = subseg_new(".debug_str",0)" identifier = (call_expression "subseg_new(".debug_str",0)" identifier (argument_list "(".debug_str",0)" ( (string_literal "".debug_str"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(stdoutput,paVar6,0x2008);" (call_expression "bfd_set_section_flags(stdoutput,paVar6,0x2008)" identifier (argument_list "(stdoutput,paVar6,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(stdoutput,paVar14,0x2008);" (call_expression "bfd_set_section_flags(stdoutput,paVar14,0x2008)" identifier (argument_list "(stdoutput,paVar14,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(stdoutput,paVar17,0x2008);" (call_expression "bfd_set_section_flags(stdoutput,paVar17,0x2008)" identifier (argument_list "(stdoutput,paVar17,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(stdoutput,secptr,0x1802008);" (call_expression "bfd_set_section_flags(stdoutput,secptr,0x1802008)" identifier (argument_list "(stdoutput,secptr,0x1802008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar27 = sizeof_address;" (assignment_expression "uVar27 = sizeof_address" identifier = identifier) ;) (expression_statement "secptr->entsize = 1;" (assignment_expression "secptr->entsize = 1" (field_expression "secptr->entsize" identifier -> field_identifier) = number_literal) ;) (expression_statement "uVar27 = uVar27 * 2;" (assignment_expression "uVar27 = uVar27 * 2" identifier = (binary_expression "uVar27 * 2" identifier * number_literal)) ;) (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) (if_statement "if (uVar27 != 0) {\n    for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {\n    }\n  }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n    for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {\n    }\n  }" { (for_statement "for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {\n    }" for ( ; (binary_expression "(uVar27 >> uVar29 & 1) == 0" (parenthesized_expression "(uVar27 >> uVar29 & 1)" ( (binary_expression "uVar27 >> uVar29 & 1" (binary_expression "uVar27 >> uVar29" identifier >> identifier) & number_literal) )) == number_literal) ; (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ) (compound_statement "{\n    }" { })) })) (if_statement "if (uVar27 == 0) {\n    uVar29 = 0xffffffff;\n  }" if (parenthesized_expression "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar29 = 0xffffffff;\n  }" { (expression_statement "uVar29 = 0xffffffff;" (assignment_expression "uVar29 = 0xffffffff" identifier = number_literal) ;) })) (expression_statement "record_alignment(paVar17,uVar29);" (call_expression "record_alignment(paVar17,uVar29)" identifier (argument_list "(paVar17,uVar29)" ( identifier , identifier ))) ;) (expression_statement "local_ec = (segT)all_segs->next;" (assignment_expression "local_ec = (segT)all_segs->next" identifier = (cast_expression "(segT)all_segs->next" ( (type_descriptor "segT" type_identifier) ) (field_expression "all_segs->next" identifier -> field_identifier))) ;) (if_statement "if (local_ec == (segT)0x0) goto LAB_0001c984;" if (parenthesized_expression "(local_ec == (segT)0x0)" ( (binary_expression "local_ec == (segT)0x0" identifier == (cast_expression "(segT)0x0" ( (type_descriptor "segT" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0001c984;" goto statement_identifier ;)) (expression_statement "local_ec = subseg_new(".debug_ranges",0);" (assignment_expression "local_ec = subseg_new(".debug_ranges",0)" identifier = (call_expression "subseg_new(".debug_ranges",0)" identifier (argument_list "(".debug_ranges",0)" ( (string_literal "".debug_ranges"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(stdoutput,local_ec,0x2008);" (call_expression "bfd_set_section_flags(stdoutput,local_ec,0x2008)" identifier (argument_list "(stdoutput,local_ec,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar27 = sizeof_address * 2;" (assignment_expression "uVar27 = sizeof_address * 2" identifier = (binary_expression "sizeof_address * 2" identifier * number_literal)) ;) (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) (if_statement "if (uVar27 != 0) {\n    for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {\n    }\n  }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n    for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {\n    }\n  }" { (for_statement "for (; (uVar27 >> uVar29 & 1) == 0; uVar29 = uVar29 + 1) {\n    }" for ( ; (binary_expression "(uVar27 >> uVar29 & 1) == 0" (parenthesized_expression "(uVar27 >> uVar29 & 1)" ( (binary_expression "uVar27 >> uVar29 & 1" (binary_expression "uVar27 >> uVar29" identifier >> identifier) & number_literal) )) == number_literal) ; (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ) (compound_statement "{\n    }" { })) })) (if_statement "if (uVar27 == 0) {\n    uVar29 = 0xffffffff;\n  }" if (parenthesized_expression "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar29 = 0xffffffff;\n  }" { (expression_statement "uVar29 = 0xffffffff;" (assignment_expression "uVar29 = 0xffffffff" identifier = number_literal) ;) })) (expression_statement "record_alignment(local_ec,uVar29);" (call_expression "record_alignment(local_ec,uVar29)" identifier (argument_list "(local_ec,uVar29)" ( identifier , identifier ))) ;) (expression_statement "uVar29 = sizeof_address;" (assignment_expression "uVar29 = sizeof_address" identifier = identifier) ;) (expression_statement "subseg_set(local_ec,0);" (call_expression "subseg_set(local_ec,0)" identifier (argument_list "(local_ec,0)" ( identifier , number_literal ))) ;) (if_statement "if (uVar29 == 0) {\n    if (all_segs == (line_seg *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    plVar31 = all_segs;\n    do {\n                    /* WARNING: Load size is inaccurate */\n      psVar10 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar10;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      pfVar15 = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(pfVar15,(segT)&seg->userdata);\n      psVar11 = symbol_temp_new(seg,vVar37,pfVar15);\n      plVar31->text_end = psVar11;\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar10;\n      emit_expr(&exp,uVar29);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar11;\n      emit_expr(&exp,uVar29);\n      plVar31 = plVar31->next;\n    } while (plVar31 != (line_seg *)0x0);\n    if (uVar29 == 0) goto LAB_0001c984;\n  }\n  else {\n    uVar27 = 0;\n    do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar29 != uVar27);\n    uVar27 = 0;\n    do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0);\n    } while (uVar29 != uVar27);\n    if (all_segs != (line_seg *)0x0) goto LAB_0001c840;\n  }" if (parenthesized_expression "(uVar29 == 0)" ( (binary_expression "uVar29 == 0" identifier == number_literal) )) (compound_statement "{\n    if (all_segs == (line_seg *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    plVar31 = all_segs;\n    do {\n                    /* WARNING: Load size is inaccurate */\n      psVar10 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar10;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      pfVar15 = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(pfVar15,(segT)&seg->userdata);\n      psVar11 = symbol_temp_new(seg,vVar37,pfVar15);\n      plVar31->text_end = psVar11;\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar10;\n      emit_expr(&exp,uVar29);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar11;\n      emit_expr(&exp,uVar29);\n      plVar31 = plVar31->next;\n    } while (plVar31 != (line_seg *)0x0);\n    if (uVar29 == 0) goto LAB_0001c984;\n  }" { (if_statement "if (all_segs == (line_seg *)0x0) goto LAB_0001c984;" if (parenthesized_expression "(all_segs == (line_seg *)0x0)" ( (binary_expression "all_segs == (line_seg *)0x0" identifier == (cast_expression "(line_seg *)0x0" ( (type_descriptor "line_seg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001c984;" goto statement_identifier ;)) (labeled_statement "LAB_0001c840:\n    plVar31 = all_segs;" statement_identifier : (expression_statement "plVar31 = all_segs;" (assignment_expression "plVar31 = all_segs" identifier = identifier) ;)) (do_statement "do {\n                    /* WARNING: Load size is inaccurate */\n      psVar10 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar10;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      pfVar15 = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(pfVar15,(segT)&seg->userdata);\n      psVar11 = symbol_temp_new(seg,vVar37,pfVar15);\n      plVar31->text_end = psVar11;\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar10;\n      emit_expr(&exp,uVar29);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar11;\n      emit_expr(&exp,uVar29);\n      plVar31 = plVar31->next;\n    } while (plVar31 != (line_seg *)0x0);" do (compound_statement "{\n                    /* WARNING: Load size is inaccurate */\n      psVar10 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar10;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);\n      pfVar15 = *(fragS **)(iVar22 + 4);\n      vVar37 = get_frag_fix(pfVar15,(segT)&seg->userdata);\n      psVar11 = symbol_temp_new(seg,vVar37,pfVar15);\n      plVar31->text_end = psVar11;\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar10;\n      emit_expr(&exp,uVar29);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      exp.X_add_symbol = psVar11;\n      emit_expr(&exp,uVar29);\n      plVar31 = plVar31->next;\n    }" { comment (expression_statement "psVar10 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);" (assignment_expression "psVar10 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata)" identifier = (call_expression "symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata)" identifier (argument_list "(plVar31->seg,0,(fragS *)**plVar31->seg->userdata)" ( (field_expression "plVar31->seg" identifier -> field_identifier) , number_literal , (cast_expression "(fragS *)**plVar31->seg->userdata" ( (type_descriptor "fragS *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**plVar31->seg->userdata" * (pointer_expression "*plVar31->seg->userdata" * (field_expression "plVar31->seg->userdata" (field_expression "plVar31->seg" identifier -> field_identifier) -> field_identifier)))) )))) ;) (expression_statement "seg = plVar31->seg;" (assignment_expression "seg = plVar31->seg" identifier = (field_expression "plVar31->seg" identifier -> field_identifier)) ;) (expression_statement "plVar31->text_start = psVar10;" (assignment_expression "plVar31->text_start = psVar10" (field_expression "plVar31->text_start" identifier -> field_identifier) = identifier) ;) comment (expression_statement "iVar7 = *seg->userdata;" (assignment_expression "iVar7 = *seg->userdata" identifier = (pointer_expression "*seg->userdata" * (field_expression "seg->userdata" identifier -> field_identifier))) ;) (do_statement "do {\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      } while (iVar7 != 0);" do (compound_statement "{\n        iVar22 = iVar7;\n        iVar7 = *(int *)(iVar22 + 8);\n      }" { (expression_statement "iVar22 = iVar7;" (assignment_expression "iVar22 = iVar7" identifier = identifier) ;) (expression_statement "iVar7 = *(int *)(iVar22 + 8);" (assignment_expression "iVar7 = *(int *)(iVar22 + 8)" identifier = (pointer_expression "*(int *)(iVar22 + 8)" * (cast_expression "(int *)(iVar22 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 8)" ( (binary_expression "iVar22 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) (expression_statement "pfVar15 = *(fragS **)(iVar22 + 4);" (assignment_expression "pfVar15 = *(fragS **)(iVar22 + 4)" identifier = (pointer_expression "*(fragS **)(iVar22 + 4)" * (cast_expression "(fragS **)(iVar22 + 4)" ( (type_descriptor "fragS **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar22 + 4)" ( (binary_expression "iVar22 + 4" identifier + number_literal) ))))) ;) (expression_statement "vVar37 = get_frag_fix(pfVar15,(segT)&seg->userdata);" (assignment_expression "vVar37 = get_frag_fix(pfVar15,(segT)&seg->userdata)" identifier = (call_expression "get_frag_fix(pfVar15,(segT)&seg->userdata)" identifier (argument_list "(pfVar15,(segT)&seg->userdata)" ( identifier , (binary_expression "(segT)&seg->userdata" (parenthesized_expression "(segT)" ( identifier )) & (field_expression "seg->userdata" identifier -> field_identifier)) )))) ;) (expression_statement "psVar11 = symbol_temp_new(seg,vVar37,pfVar15);" (assignment_expression "psVar11 = symbol_temp_new(seg,vVar37,pfVar15)" identifier = (call_expression "symbol_temp_new(seg,vVar37,pfVar15)" identifier (argument_list "(seg,vVar37,pfVar15)" ( identifier , identifier , identifier )))) ;) (expression_statement "plVar31->text_end = psVar11;" (assignment_expression "plVar31->text_end = psVar11" (field_expression "plVar31->text_end" identifier -> field_identifier) = identifier) ;) (expression_statement "exp._16_1_ = 3;" (assignment_expression "exp._16_1_ = 3" (field_expression "exp._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._0_4_ = 0;" (assignment_expression "exp.X_add_number._0_4_ = 0" (field_expression "exp.X_add_number._0_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._4_4_ = 0;" (assignment_expression "exp.X_add_number._4_4_ = 0" (field_expression "exp.X_add_number._4_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_symbol = psVar10;" (assignment_expression "exp.X_add_symbol = psVar10" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(&exp,uVar29);" (call_expression "emit_expr(&exp,uVar29)" identifier (argument_list "(&exp,uVar29)" ( (pointer_expression "&exp" & identifier) , identifier ))) ;) (expression_statement "exp._16_1_ = 3;" (assignment_expression "exp._16_1_ = 3" (field_expression "exp._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._0_4_ = 0;" (assignment_expression "exp.X_add_number._0_4_ = 0" (field_expression "exp.X_add_number._0_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._4_4_ = 0;" (assignment_expression "exp.X_add_number._4_4_ = 0" (field_expression "exp.X_add_number._4_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_symbol = psVar11;" (assignment_expression "exp.X_add_symbol = psVar11" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(&exp,uVar29);" (call_expression "emit_expr(&exp,uVar29)" identifier (argument_list "(&exp,uVar29)" ( (pointer_expression "&exp" & identifier) , identifier ))) ;) (expression_statement "plVar31 = plVar31->next;" (assignment_expression "plVar31 = plVar31->next" identifier = (field_expression "plVar31->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(plVar31 != (line_seg *)0x0)" ( (binary_expression "plVar31 != (line_seg *)0x0" identifier != (cast_expression "(line_seg *)0x0" ( (type_descriptor "line_seg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (uVar29 == 0) goto LAB_0001c984;" if (parenthesized_expression "(uVar29 == 0)" ( (binary_expression "uVar29 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c984;" goto statement_identifier ;)) }) (else_clause "else {\n    uVar27 = 0;\n    do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar29 != uVar27);\n    uVar27 = 0;\n    do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0);\n    } while (uVar29 != uVar27);\n    if (all_segs != (line_seg *)0x0) goto LAB_0001c840;\n  }" else (compound_statement "{\n    uVar27 = 0;\n    do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar29 != uVar27);\n    uVar27 = 0;\n    do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0);\n    } while (uVar29 != uVar27);\n    if (all_segs != (line_seg *)0x0) goto LAB_0001c840;\n  }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar29 != uVar27);" do (compound_statement "{\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0xff);\n    }" { (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "frag_append_1_char(0xff);" (call_expression "frag_append_1_char(0xff)" identifier (argument_list "(0xff)" ( number_literal ))) ;) }) while (parenthesized_expression "(uVar29 != uVar27)" ( (binary_expression "uVar29 != uVar27" identifier != identifier) )) ;) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0);\n    } while (uVar29 != uVar27);" do (compound_statement "{\n      uVar27 = uVar27 + 1;\n      frag_append_1_char(0);\n    }" { (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(uVar29 != uVar27)" ( (binary_expression "uVar29 != uVar27" identifier != identifier) )) ;) (if_statement "if (all_segs != (line_seg *)0x0) goto LAB_0001c840;" if (parenthesized_expression "(all_segs != (line_seg *)0x0)" ( (binary_expression "all_segs != (line_seg *)0x0" identifier != (cast_expression "(line_seg *)0x0" ( (type_descriptor "line_seg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001c840;" goto statement_identifier ;)) }))) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar27 = uVar27 + 1;\n    frag_append_1_char(0);\n  } while (uVar29 != uVar27);" do (compound_statement "{\n    uVar27 = uVar27 + 1;\n    frag_append_1_char(0);\n  }" { (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(uVar29 != uVar27)" ( (binary_expression "uVar29 != uVar27" identifier != identifier) )) ;) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar27 = uVar27 + 1;\n    frag_append_1_char(0);\n  } while (uVar29 != uVar27);" do (compound_statement "{\n    uVar27 = uVar27 + 1;\n    frag_append_1_char(0);\n  }" { (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(uVar29 != uVar27)" ( (binary_expression "uVar29 != uVar27" identifier != identifier) )) ;) (labeled_statement "LAB_0001c984:\n  uVar29 = sizeof_address;" statement_identifier : (expression_statement "uVar29 = sizeof_address;" (assignment_expression "uVar29 = sizeof_address" identifier = identifier) ;)) (expression_statement "local_cc = &exp;" (assignment_expression "local_cc = &exp" identifier = (pointer_expression "&exp" & identifier)) ;) (expression_statement "uVar18 = out_header(paVar17,&exp_1);" (assignment_expression "uVar18 = out_header(paVar17,&exp_1)" identifier = (call_expression "out_header(paVar17,&exp_1)" identifier (argument_list "(paVar17,&exp_1)" ( identifier , (pointer_expression "&exp_1" & identifier) )))) ;) (expression_statement "iVar7 = exp_1.X_add_number._4_4_;" (assignment_expression "iVar7 = exp_1.X_add_number._4_4_" identifier = (field_expression "exp_1.X_add_number._4_4_" (field_expression "exp_1.X_add_number" identifier . field_identifier) . field_identifier)) ;) (expression_statement "uVar27 = (uint)exp_1.X_add_number;" (assignment_expression "uVar27 = (uint)exp_1.X_add_number" identifier = (cast_expression "(uint)exp_1.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "exp_1.X_add_number" identifier . field_identifier))) ;) (expression_statement "psVar10 = exp_1.X_add_symbol;" (assignment_expression "psVar10 = exp_1.X_add_symbol" identifier = (field_expression "exp_1.X_add_symbol" identifier . field_identifier)) ;) (expression_statement "pcVar8 = frag_more(2);" (assignment_expression "pcVar8 = frag_more(2)" identifier = (call_expression "frag_more(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "number_to_chars_littleendian(pcVar8,2,2);" (call_expression "number_to_chars_littleendian(pcVar8,2,2)" identifier (argument_list "(pcVar8,2,2)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "exp.X_add_symbol = section_symbol(paVar6);" (assignment_expression "exp.X_add_symbol = section_symbol(paVar6)" (field_expression "exp.X_add_symbol" identifier . field_identifier) = (call_expression "section_symbol(paVar6)" identifier (argument_list "(paVar6)" ( identifier )))) ;) (expression_statement "exp._16_1_ = 3;" (assignment_expression "exp._16_1_ = 3" (field_expression "exp._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._0_4_ = 0;" (assignment_expression "exp.X_add_number._0_4_ = 0" (field_expression "exp.X_add_number._0_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._4_4_ = 0;" (assignment_expression "exp.X_add_number._4_4_ = 0" (field_expression "exp.X_add_number._4_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "emit_expr(local_cc,uVar18);" (call_expression "emit_expr(local_cc,uVar18)" identifier (argument_list "(local_cc,uVar18)" ( identifier , identifier ))) ;) (expression_statement "uVar16 = 2 - uVar27;" (assignment_expression "uVar16 = 2 - uVar27" identifier = (binary_expression "2 - uVar27" number_literal - identifier)) ;) (expression_statement "uVar19 = uVar18 + uVar16;" (assignment_expression "uVar19 = uVar18 + uVar16" identifier = (binary_expression "uVar18 + uVar16" identifier + identifier)) ;) (expression_statement "iVar22 = ((int)uVar18 >> 0x1f) + (-(uint)(2 < uVar27) - iVar7) + (uint)CARRY4(uVar18,uVar16);" (assignment_expression "iVar22 = ((int)uVar18 >> 0x1f) + (-(uint)(2 < uVar27) - iVar7) + (uint)CARRY4(uVar18,uVar16)" identifier = (binary_expression "((int)uVar18 >> 0x1f) + (-(uint)(2 < uVar27) - iVar7) + (uint)CARRY4(uVar18,uVar16)" (binary_expression "((int)uVar18 >> 0x1f) + (-(uint)(2 < uVar27) - iVar7)" (parenthesized_expression "((int)uVar18 >> 0x1f)" ( (binary_expression "(int)uVar18 >> 0x1f" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + (parenthesized_expression "(-(uint)(2 < uVar27) - iVar7)" ( (binary_expression "-(uint)(2 < uVar27) - iVar7" (unary_expression "-(uint)(2 < uVar27)" - (call_expression "(uint)(2 < uVar27)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(2 < uVar27)" ( (binary_expression "2 < uVar27" number_literal < identifier) )))) - identifier) ))) + (cast_expression "(uint)CARRY4(uVar18,uVar16)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar18,uVar16)" identifier (argument_list "(uVar18,uVar16)" ( identifier , identifier )))))) ;) (expression_statement "frag_append_1_char(uVar29);" (call_expression "frag_append_1_char(uVar29)" identifier (argument_list "(uVar29)" ( identifier ))) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "uVar27 = uVar19 + 3;" (assignment_expression "uVar27 = uVar19 + 3" identifier = (binary_expression "uVar19 + 3" identifier + number_literal)) ;) (expression_statement "iVar7 = iVar22 + (uint)(0xfffffffc < uVar19);" (assignment_expression "iVar7 = iVar22 + (uint)(0xfffffffc < uVar19)" identifier = (binary_expression "iVar22 + (uint)(0xfffffffc < uVar19)" identifier + (call_expression "(uint)(0xfffffffc < uVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffc < uVar19)" ( (binary_expression "0xfffffffc < uVar19" number_literal < identifier) ))))) ;) (expression_statement "nchars = uVar29 * 2;" (assignment_expression "nchars = uVar29 * 2" identifier = (binary_expression "uVar29 * 2" identifier * number_literal)) ;) (expression_statement "uVar38 = __moddi3(uVar19 + 2,iVar22 + (uint)(0xfffffffd < uVar19),nchars,0);" (assignment_expression "uVar38 = __moddi3(uVar19 + 2,iVar22 + (uint)(0xfffffffd < uVar19),nchars,0)" identifier = (call_expression "__moddi3(uVar19 + 2,iVar22 + (uint)(0xfffffffd < uVar19),nchars,0)" identifier (argument_list "(uVar19 + 2,iVar22 + (uint)(0xfffffffd < uVar19),nchars,0)" ( (binary_expression "uVar19 + 2" identifier + number_literal) , (binary_expression "iVar22 + (uint)(0xfffffffd < uVar19)" identifier + (call_expression "(uint)(0xfffffffd < uVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffd < uVar19)" ( (binary_expression "0xfffffffd < uVar19" number_literal < identifier) )))) , identifier , number_literal )))) ;) (expression_statement "plVar31 = all_segs;" (assignment_expression "plVar31 = all_segs" identifier = identifier) ;) (if_statement "if (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0)) {\n    do {\n      frag_append_1_char(0);\n      bVar34 = 0xfffffffe < uVar27;\n      uVar38 = __moddi3(uVar27,iVar7,nchars,0);\n      uVar27 = uVar27 + 1;\n      iVar7 = iVar7 + (uint)bVar34;\n      plVar31 = all_segs;\n    } while (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0));\n  }" if (parenthesized_expression "(-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0))" ( (binary_expression "-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0)" (unary_expression "-(int)((ulonglong)uVar38 >> 0x20)" - (cast_expression "(int)((ulonglong)uVar38 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar38 >> 0x20)" ( (binary_expression "(ulonglong)uVar38 >> 0x20" (cast_expression "(ulonglong)uVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) < (cast_expression "(int)(uint)((int)uVar38 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)uVar38 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar38 != 0)" ( (binary_expression "(int)uVar38 != 0" (cast_expression "(int)uVar38" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))))) )) (compound_statement "{\n    do {\n      frag_append_1_char(0);\n      bVar34 = 0xfffffffe < uVar27;\n      uVar38 = __moddi3(uVar27,iVar7,nchars,0);\n      uVar27 = uVar27 + 1;\n      iVar7 = iVar7 + (uint)bVar34;\n      plVar31 = all_segs;\n    } while (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0));\n  }" { (do_statement "do {\n      frag_append_1_char(0);\n      bVar34 = 0xfffffffe < uVar27;\n      uVar38 = __moddi3(uVar27,iVar7,nchars,0);\n      uVar27 = uVar27 + 1;\n      iVar7 = iVar7 + (uint)bVar34;\n      plVar31 = all_segs;\n    } while (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0));" do (compound_statement "{\n      frag_append_1_char(0);\n      bVar34 = 0xfffffffe < uVar27;\n      uVar38 = __moddi3(uVar27,iVar7,nchars,0);\n      uVar27 = uVar27 + 1;\n      iVar7 = iVar7 + (uint)bVar34;\n      plVar31 = all_segs;\n    }" { (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "bVar34 = 0xfffffffe < uVar27;" (assignment_expression "bVar34 = 0xfffffffe < uVar27" identifier = (binary_expression "0xfffffffe < uVar27" number_literal < identifier)) ;) (expression_statement "uVar38 = __moddi3(uVar27,iVar7,nchars,0);" (assignment_expression "uVar38 = __moddi3(uVar27,iVar7,nchars,0)" identifier = (call_expression "__moddi3(uVar27,iVar7,nchars,0)" identifier (argument_list "(uVar27,iVar7,nchars,0)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = iVar7 + (uint)bVar34;" (assignment_expression "iVar7 = iVar7 + (uint)bVar34" identifier = (binary_expression "iVar7 + (uint)bVar34" identifier + (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "plVar31 = all_segs;" (assignment_expression "plVar31 = all_segs" identifier = identifier) ;) }) while (parenthesized_expression "(-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0))" ( (binary_expression "-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0)" (unary_expression "-(int)((ulonglong)uVar38 >> 0x20)" - (cast_expression "(int)((ulonglong)uVar38 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar38 >> 0x20)" ( (binary_expression "(ulonglong)uVar38 >> 0x20" (cast_expression "(ulonglong)uVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) < (cast_expression "(int)(uint)((int)uVar38 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)uVar38 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar38 != 0)" ( (binary_expression "(int)uVar38 != 0" (cast_expression "(int)uVar38" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))))) )) ;) })) (for_statement "for (; plVar31 != (line_seg *)0x0; plVar31 = plVar31->next) {\n                    /* WARNING: Load size is inaccurate */\n    psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n    paVar17 = plVar31->seg;\n    plVar31->text_start = psVar11;\n                    /* WARNING: Load size is inaccurate */\n    iVar7 = *paVar17->userdata;\n    do {\n      iVar22 = iVar7;\n      iVar7 = *(int *)(iVar22 + 8);\n    } while (iVar7 != 0);\n    pfVar15 = *(fragS **)(iVar22 + 4);\n    vVar37 = get_frag_fix(pfVar15,(segT)&paVar17->userdata);\n    psVar20 = symbol_temp_new(paVar17,vVar37,pfVar15);\n    plVar31->text_end = psVar20;\n    exp_1._16_1_ = 3;\n    exp_1.X_add_number._0_4_ = 0;\n    exp_1.X_add_number._4_4_ = 0;\n    exp_1.X_add_symbol = psVar11;\n    emit_expr(&exp_1,uVar29);\n    exp_1._16_1_ = 0x14;\n    exp_1.X_add_number._0_4_ = 0;\n    exp_1.X_add_number._4_4_ = 0;\n    exp_1.X_add_symbol = psVar20;\n    exp_1.X_op_symbol = psVar11;\n    emit_expr(&exp_1,uVar29);\n  }" for ( ; (binary_expression "plVar31 != (line_seg *)0x0" identifier != (cast_expression "(line_seg *)0x0" ( (type_descriptor "line_seg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "plVar31 = plVar31->next" identifier = (field_expression "plVar31->next" identifier -> field_identifier)) ) (compound_statement "{\n                    /* WARNING: Load size is inaccurate */\n    psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n    paVar17 = plVar31->seg;\n    plVar31->text_start = psVar11;\n                    /* WARNING: Load size is inaccurate */\n    iVar7 = *paVar17->userdata;\n    do {\n      iVar22 = iVar7;\n      iVar7 = *(int *)(iVar22 + 8);\n    } while (iVar7 != 0);\n    pfVar15 = *(fragS **)(iVar22 + 4);\n    vVar37 = get_frag_fix(pfVar15,(segT)&paVar17->userdata);\n    psVar20 = symbol_temp_new(paVar17,vVar37,pfVar15);\n    plVar31->text_end = psVar20;\n    exp_1._16_1_ = 3;\n    exp_1.X_add_number._0_4_ = 0;\n    exp_1.X_add_number._4_4_ = 0;\n    exp_1.X_add_symbol = psVar11;\n    emit_expr(&exp_1,uVar29);\n    exp_1._16_1_ = 0x14;\n    exp_1.X_add_number._0_4_ = 0;\n    exp_1.X_add_number._4_4_ = 0;\n    exp_1.X_add_symbol = psVar20;\n    exp_1.X_op_symbol = psVar11;\n    emit_expr(&exp_1,uVar29);\n  }" { comment (expression_statement "psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);" (assignment_expression "psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata)" identifier = (call_expression "symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata)" identifier (argument_list "(plVar31->seg,0,(fragS *)**plVar31->seg->userdata)" ( (field_expression "plVar31->seg" identifier -> field_identifier) , number_literal , (cast_expression "(fragS *)**plVar31->seg->userdata" ( (type_descriptor "fragS *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**plVar31->seg->userdata" * (pointer_expression "*plVar31->seg->userdata" * (field_expression "plVar31->seg->userdata" (field_expression "plVar31->seg" identifier -> field_identifier) -> field_identifier)))) )))) ;) (expression_statement "paVar17 = plVar31->seg;" (assignment_expression "paVar17 = plVar31->seg" identifier = (field_expression "plVar31->seg" identifier -> field_identifier)) ;) (expression_statement "plVar31->text_start = psVar11;" (assignment_expression "plVar31->text_start = psVar11" (field_expression "plVar31->text_start" identifier -> field_identifier) = identifier) ;) comment (expression_statement "iVar7 = *paVar17->userdata;" (assignment_expression "iVar7 = *paVar17->userdata" identifier = (pointer_expression "*paVar17->userdata" * (field_expression "paVar17->userdata" identifier -> field_identifier))) ;) (do_statement "do {\n      iVar22 = iVar7;\n      iVar7 = *(int *)(iVar22 + 8);\n    } while (iVar7 != 0);" do (compound_statement "{\n      iVar22 = iVar7;\n      iVar7 = *(int *)(iVar22 + 8);\n    }" { (expression_statement "iVar22 = iVar7;" (assignment_expression "iVar22 = iVar7" identifier = identifier) ;) (expression_statement "iVar7 = *(int *)(iVar22 + 8);" (assignment_expression "iVar7 = *(int *)(iVar22 + 8)" identifier = (pointer_expression "*(int *)(iVar22 + 8)" * (cast_expression "(int *)(iVar22 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 8)" ( (binary_expression "iVar22 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) (expression_statement "pfVar15 = *(fragS **)(iVar22 + 4);" (assignment_expression "pfVar15 = *(fragS **)(iVar22 + 4)" identifier = (pointer_expression "*(fragS **)(iVar22 + 4)" * (cast_expression "(fragS **)(iVar22 + 4)" ( (type_descriptor "fragS **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar22 + 4)" ( (binary_expression "iVar22 + 4" identifier + number_literal) ))))) ;) (expression_statement "vVar37 = get_frag_fix(pfVar15,(segT)&paVar17->userdata);" (assignment_expression "vVar37 = get_frag_fix(pfVar15,(segT)&paVar17->userdata)" identifier = (call_expression "get_frag_fix(pfVar15,(segT)&paVar17->userdata)" identifier (argument_list "(pfVar15,(segT)&paVar17->userdata)" ( identifier , (binary_expression "(segT)&paVar17->userdata" (parenthesized_expression "(segT)" ( identifier )) & (field_expression "paVar17->userdata" identifier -> field_identifier)) )))) ;) (expression_statement "psVar20 = symbol_temp_new(paVar17,vVar37,pfVar15);" (assignment_expression "psVar20 = symbol_temp_new(paVar17,vVar37,pfVar15)" identifier = (call_expression "symbol_temp_new(paVar17,vVar37,pfVar15)" identifier (argument_list "(paVar17,vVar37,pfVar15)" ( identifier , identifier , identifier )))) ;) (expression_statement "plVar31->text_end = psVar20;" (assignment_expression "plVar31->text_end = psVar20" (field_expression "plVar31->text_end" identifier -> field_identifier) = identifier) ;) (expression_statement "exp_1._16_1_ = 3;" (assignment_expression "exp_1._16_1_ = 3" (field_expression "exp_1._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp_1.X_add_number._0_4_ = 0;" (assignment_expression "exp_1.X_add_number._0_4_ = 0" (field_expression "exp_1.X_add_number._0_4_" (field_expression "exp_1.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp_1.X_add_number._4_4_ = 0;" (assignment_expression "exp_1.X_add_number._4_4_ = 0" (field_expression "exp_1.X_add_number._4_4_" (field_expression "exp_1.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp_1.X_add_symbol = psVar11;" (assignment_expression "exp_1.X_add_symbol = psVar11" (field_expression "exp_1.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(&exp_1,uVar29);" (call_expression "emit_expr(&exp_1,uVar29)" identifier (argument_list "(&exp_1,uVar29)" ( (pointer_expression "&exp_1" & identifier) , identifier ))) ;) (expression_statement "exp_1._16_1_ = 0x14;" (assignment_expression "exp_1._16_1_ = 0x14" (field_expression "exp_1._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp_1.X_add_number._0_4_ = 0;" (assignment_expression "exp_1.X_add_number._0_4_ = 0" (field_expression "exp_1.X_add_number._0_4_" (field_expression "exp_1.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp_1.X_add_number._4_4_ = 0;" (assignment_expression "exp_1.X_add_number._4_4_ = 0" (field_expression "exp_1.X_add_number._4_4_" (field_expression "exp_1.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp_1.X_add_symbol = psVar20;" (assignment_expression "exp_1.X_add_symbol = psVar20" (field_expression "exp_1.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "exp_1.X_op_symbol = psVar11;" (assignment_expression "exp_1.X_op_symbol = psVar11" (field_expression "exp_1.X_op_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(&exp_1,uVar29);" (call_expression "emit_expr(&exp_1,uVar29)" identifier (argument_list "(&exp_1,uVar29)" ( (pointer_expression "&exp_1" & identifier) , identifier ))) ;) })) (expression_statement "pcVar8 = frag_more(nchars);" (assignment_expression "pcVar8 = frag_more(nchars)" identifier = (call_expression "frag_more(nchars)" identifier (argument_list "(nchars)" ( identifier )))) ;) (expression_statement "number_to_chars_littleendian(pcVar8,0,uVar29);" (call_expression "number_to_chars_littleendian(pcVar8,0,uVar29)" identifier (argument_list "(pcVar8,0,uVar29)" ( identifier , number_literal , identifier ))) ;) (expression_statement "number_to_chars_littleendian(pcVar8 + uVar29,0,uVar29);" (call_expression "number_to_chars_littleendian(pcVar8 + uVar29,0,uVar29)" identifier (argument_list "(pcVar8 + uVar29,0,uVar29)" ( (binary_expression "pcVar8 + uVar29" identifier + identifier) , number_literal , identifier ))) ;) (expression_statement "symbol_set_value_now(psVar10);" (call_expression "symbol_set_value_now(psVar10)" identifier (argument_list "(psVar10)" ( identifier ))) ;) (expression_statement "uVar42 = 0;" (assignment_expression "uVar42 = 0" identifier = number_literal) ;) (expression_statement "paVar17 = paVar14;" (assignment_expression "paVar17 = paVar14" identifier = identifier) ;) (expression_statement "subseg_set(paVar14,0);" (call_expression "subseg_set(paVar14,0)" identifier (argument_list "(paVar14,0)" ( identifier , number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(uVar42,paVar17));" (call_expression "out_uleb128(CONCAT44(uVar42,paVar17))" identifier (argument_list "(CONCAT44(uVar42,paVar17))" ( (call_expression "CONCAT44(uVar42,paVar17)" identifier (argument_list "(uVar42,paVar17)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(uVar42,paVar17));" (call_expression "out_uleb128(CONCAT44(uVar42,paVar17))" identifier (argument_list "(CONCAT44(uVar42,paVar17))" ( (call_expression "CONCAT44(uVar42,paVar17)" identifier (argument_list "(uVar42,paVar17)" ( identifier , identifier ))) ))) ;) (expression_statement "uVar40 = 0;" (assignment_expression "uVar40 = 0" identifier = number_literal) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(uVar42,uVar40));" (call_expression "out_uleb128(CONCAT44(uVar42,uVar40))" identifier (argument_list "(CONCAT44(uVar42,uVar40))" ( (call_expression "CONCAT44(uVar42,uVar40)" identifier (argument_list "(uVar42,uVar40)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(uVar42,uVar40));" (call_expression "out_uleb128(CONCAT44(uVar42,uVar40))" identifier (argument_list "(CONCAT44(uVar42,uVar40))" ( (call_expression "CONCAT44(uVar42,uVar40)" identifier (argument_list "(uVar42,uVar40)" ( identifier , identifier ))) ))) ;) (if_statement "if (all_segs->next == (line_seg *)0x0) {\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n  }\n  else {\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n  }" if (parenthesized_expression "(all_segs->next == (line_seg *)0x0)" ( (binary_expression "all_segs->next == (line_seg *)0x0" (field_expression "all_segs->next" identifier -> field_identifier) == (cast_expression "(line_seg *)0x0" ( (type_descriptor "line_seg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n  }" { (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) }) (else_clause "else {\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n  }" else (compound_statement "{\n    out_uleb128(CONCAT44(sec,psVar21));\n    out_uleb128(CONCAT44(sec,psVar21));\n  }" { (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) }))) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar21));" (call_expression "out_uleb128(CONCAT44(sec,psVar21))" identifier (argument_list "(CONCAT44(sec,psVar21))" ( (call_expression "CONCAT44(sec,psVar21)" identifier (argument_list "(sec,psVar21)" ( identifier , identifier ))) ))) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "subseg_set(secptr,0);" (call_expression "subseg_set(secptr,0)" identifier (argument_list "(secptr,0)" ( identifier , number_literal ))) ;) (expression_statement "psVar21 = symbol_temp_new_now();" (assignment_expression "psVar21 = symbol_temp_new_now()" identifier = (call_expression "symbol_temp_new_now()" identifier (argument_list "()" ( )))) ;) (if_statement "if (files_in_use != 0) {\n    if (files[1].dir != 0) {\n      pcVar8 = remap_debug_filename(dirs[files[1].dir]);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12);\n      pcVar9[sVar12] = '/';\n    }\n    sVar12 = strlen(files[1].filename);\n    pcVar8 = frag_more(sVar12 + 1);\n    memcpy(pcVar8,files[1].filename,sVar12 + 1);\n    psVar10 = symbol_temp_new_now();\n    pcVar8 = (char *)getpwd();\n    pcVar8 = remap_debug_filename(pcVar8);\n    sVar12 = strlen(pcVar8);\n    pcVar9 = frag_more(sVar12 + 1);\n    memcpy(pcVar9,pcVar8,sVar12 + 1);\n    psVar11 = symbol_temp_new_now();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    peVar41 = local_cc;\n    do {\n      peVar23 = peVar41;\n      uVar27 = (uint)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar23->X_add_symbol;\n      uVar29 = uVar27 & 0x80808080;\n      peVar41 = (expressionS *)&peVar23->X_op_symbol;\n    } while (uVar29 == 0);\n    bVar34 = (uVar27 & 0x8080) == 0;\n    if (bVar34) {\n      uVar29 = uVar29 >> 0x10;\n    }\n    ppsVar24 = &peVar23->X_op_symbol;\n    if (bVar34) {\n      ppsVar24 = (symbolS **)((int)&peVar23->X_op_symbol + 2);\n    }\n    uVar29 = (int)ppsVar24 + (-(int)local_cc - (uint)CARRY1((byte)uVar29,(byte)uVar29)) + -2;\n    pcVar8 = frag_more(uVar29);\n    if (uVar29 < 4) {\n      if (uVar29 != 0) {\n        *pcVar8 = (char)exp.X_add_symbol;\n        if ((uVar29 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);\n        }\n      }\n    }\n    else {\n      *(symbolS **)pcVar8 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar8 + (uVar29 - 4)) = *(undefined4 *)((int)&exp_1 + uVar29 + 0x10);\n      iVar7 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      puVar28 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (uVar29 = iVar7 + uVar29 >> 2; uVar29 != 0; uVar29 = uVar29 - 1) {\n        *puVar32 = *puVar28;\n        puVar28 = puVar28 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }\n    uVar18 = out_header(paVar6,&exp_1);\n    psVar20 = exp_1.X_add_symbol;\n    pcVar8 = frag_more(2);\n    number_to_chars_littleendian(pcVar8,2,2);\n    exp.X_add_symbol = section_symbol(paVar14);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    uVar27 = uVar18;\n    emit_expr(local_cc,uVar18);\n    uVar29 = sizeof_address;\n    frag_append_1_char(sizeof_address);\n    out_uleb128(CONCAT44(uVar27,uVar29));\n    exp.X_add_symbol = section_symbol(sec);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    emit_expr(local_cc,4);\n    if (all_segs->next == (line_seg *)0x0) {\n      exp_1.X_add_symbol = all_segs->text_start;\n      exp_1._16_1_ = 3;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n      exp_1._16_1_ = 3;\n      exp_1.X_add_symbol = all_segs->text_end;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n    }\n    else {\n      exp.X_add_symbol = section_symbol(local_ec);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      emit_expr(local_cc,uVar18);\n    }\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar21;\n    emit_expr(local_cc,uVar18);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar10;\n    emit_expr(local_cc,uVar18);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar11;\n    emit_expr(local_cc,uVar18);\n    pcVar8 = frag_more(2);\n    number_to_chars_littleendian(pcVar8,0x8001,2);\n    symbol_set_value_now(psVar20);\n    return;\n  }" if (parenthesized_expression "(files_in_use != 0)" ( (binary_expression "files_in_use != 0" identifier != number_literal) )) (compound_statement "{\n    if (files[1].dir != 0) {\n      pcVar8 = remap_debug_filename(dirs[files[1].dir]);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12);\n      pcVar9[sVar12] = '/';\n    }\n    sVar12 = strlen(files[1].filename);\n    pcVar8 = frag_more(sVar12 + 1);\n    memcpy(pcVar8,files[1].filename,sVar12 + 1);\n    psVar10 = symbol_temp_new_now();\n    pcVar8 = (char *)getpwd();\n    pcVar8 = remap_debug_filename(pcVar8);\n    sVar12 = strlen(pcVar8);\n    pcVar9 = frag_more(sVar12 + 1);\n    memcpy(pcVar9,pcVar8,sVar12 + 1);\n    psVar11 = symbol_temp_new_now();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    peVar41 = local_cc;\n    do {\n      peVar23 = peVar41;\n      uVar27 = (uint)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar23->X_add_symbol;\n      uVar29 = uVar27 & 0x80808080;\n      peVar41 = (expressionS *)&peVar23->X_op_symbol;\n    } while (uVar29 == 0);\n    bVar34 = (uVar27 & 0x8080) == 0;\n    if (bVar34) {\n      uVar29 = uVar29 >> 0x10;\n    }\n    ppsVar24 = &peVar23->X_op_symbol;\n    if (bVar34) {\n      ppsVar24 = (symbolS **)((int)&peVar23->X_op_symbol + 2);\n    }\n    uVar29 = (int)ppsVar24 + (-(int)local_cc - (uint)CARRY1((byte)uVar29,(byte)uVar29)) + -2;\n    pcVar8 = frag_more(uVar29);\n    if (uVar29 < 4) {\n      if (uVar29 != 0) {\n        *pcVar8 = (char)exp.X_add_symbol;\n        if ((uVar29 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);\n        }\n      }\n    }\n    else {\n      *(symbolS **)pcVar8 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar8 + (uVar29 - 4)) = *(undefined4 *)((int)&exp_1 + uVar29 + 0x10);\n      iVar7 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      puVar28 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (uVar29 = iVar7 + uVar29 >> 2; uVar29 != 0; uVar29 = uVar29 - 1) {\n        *puVar32 = *puVar28;\n        puVar28 = puVar28 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }\n    uVar18 = out_header(paVar6,&exp_1);\n    psVar20 = exp_1.X_add_symbol;\n    pcVar8 = frag_more(2);\n    number_to_chars_littleendian(pcVar8,2,2);\n    exp.X_add_symbol = section_symbol(paVar14);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    uVar27 = uVar18;\n    emit_expr(local_cc,uVar18);\n    uVar29 = sizeof_address;\n    frag_append_1_char(sizeof_address);\n    out_uleb128(CONCAT44(uVar27,uVar29));\n    exp.X_add_symbol = section_symbol(sec);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    emit_expr(local_cc,4);\n    if (all_segs->next == (line_seg *)0x0) {\n      exp_1.X_add_symbol = all_segs->text_start;\n      exp_1._16_1_ = 3;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n      exp_1._16_1_ = 3;\n      exp_1.X_add_symbol = all_segs->text_end;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n    }\n    else {\n      exp.X_add_symbol = section_symbol(local_ec);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      emit_expr(local_cc,uVar18);\n    }\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar21;\n    emit_expr(local_cc,uVar18);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar10;\n    emit_expr(local_cc,uVar18);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    exp.X_add_symbol = psVar11;\n    emit_expr(local_cc,uVar18);\n    pcVar8 = frag_more(2);\n    number_to_chars_littleendian(pcVar8,0x8001,2);\n    symbol_set_value_now(psVar20);\n    return;\n  }" { (if_statement "if (files[1].dir != 0) {\n      pcVar8 = remap_debug_filename(dirs[files[1].dir]);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12);\n      pcVar9[sVar12] = '/';\n    }" if (parenthesized_expression "(files[1].dir != 0)" ( (binary_expression "files[1].dir != 0" (field_expression "files[1].dir" (subscript_expression "files[1]" identifier [ number_literal ]) . field_identifier) != number_literal) )) (compound_statement "{\n      pcVar8 = remap_debug_filename(dirs[files[1].dir]);\n      sVar12 = strlen(pcVar8);\n      pcVar9 = frag_more(sVar12 + 1);\n      memcpy(pcVar9,pcVar8,sVar12);\n      pcVar9[sVar12] = '/';\n    }" { (expression_statement "pcVar8 = remap_debug_filename(dirs[files[1].dir]);" (assignment_expression "pcVar8 = remap_debug_filename(dirs[files[1].dir])" identifier = (call_expression "remap_debug_filename(dirs[files[1].dir])" identifier (argument_list "(dirs[files[1].dir])" ( (subscript_expression "dirs[files[1].dir]" identifier [ (field_expression "files[1].dir" (subscript_expression "files[1]" identifier [ number_literal ]) . field_identifier) ]) )))) ;) (expression_statement "sVar12 = strlen(pcVar8);" (assignment_expression "sVar12 = strlen(pcVar8)" identifier = (call_expression "strlen(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) (expression_statement "pcVar9 = frag_more(sVar12 + 1);" (assignment_expression "pcVar9 = frag_more(sVar12 + 1)" identifier = (call_expression "frag_more(sVar12 + 1)" identifier (argument_list "(sVar12 + 1)" ( (binary_expression "sVar12 + 1" identifier + number_literal) )))) ;) (expression_statement "memcpy(pcVar9,pcVar8,sVar12);" (call_expression "memcpy(pcVar9,pcVar8,sVar12)" identifier (argument_list "(pcVar9,pcVar8,sVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar9[sVar12] = '/';" (assignment_expression "pcVar9[sVar12] = '/'" (subscript_expression "pcVar9[sVar12]" identifier [ identifier ]) = (char_literal "'/'" ' character ')) ;) })) (expression_statement "sVar12 = strlen(files[1].filename);" (assignment_expression "sVar12 = strlen(files[1].filename)" identifier = (call_expression "strlen(files[1].filename)" identifier (argument_list "(files[1].filename)" ( (field_expression "files[1].filename" (subscript_expression "files[1]" identifier [ number_literal ]) . field_identifier) )))) ;) (expression_statement "pcVar8 = frag_more(sVar12 + 1);" (assignment_expression "pcVar8 = frag_more(sVar12 + 1)" identifier = (call_expression "frag_more(sVar12 + 1)" identifier (argument_list "(sVar12 + 1)" ( (binary_expression "sVar12 + 1" identifier + number_literal) )))) ;) (expression_statement "memcpy(pcVar8,files[1].filename,sVar12 + 1);" (call_expression "memcpy(pcVar8,files[1].filename,sVar12 + 1)" identifier (argument_list "(pcVar8,files[1].filename,sVar12 + 1)" ( identifier , (field_expression "files[1].filename" (subscript_expression "files[1]" identifier [ number_literal ]) . field_identifier) , (binary_expression "sVar12 + 1" identifier + number_literal) ))) ;) (expression_statement "psVar10 = symbol_temp_new_now();" (assignment_expression "psVar10 = symbol_temp_new_now()" identifier = (call_expression "symbol_temp_new_now()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar8 = (char *)getpwd();" (assignment_expression "pcVar8 = (char *)getpwd()" identifier = (cast_expression "(char *)getpwd()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "getpwd()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pcVar8 = remap_debug_filename(pcVar8);" (assignment_expression "pcVar8 = remap_debug_filename(pcVar8)" identifier = (call_expression "remap_debug_filename(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) (expression_statement "sVar12 = strlen(pcVar8);" (assignment_expression "sVar12 = strlen(pcVar8)" identifier = (call_expression "strlen(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) (expression_statement "pcVar9 = frag_more(sVar12 + 1);" (assignment_expression "pcVar9 = frag_more(sVar12 + 1)" identifier = (call_expression "frag_more(sVar12 + 1)" identifier (argument_list "(sVar12 + 1)" ( (binary_expression "sVar12 + 1" identifier + number_literal) )))) ;) (expression_statement "memcpy(pcVar9,pcVar8,sVar12 + 1);" (call_expression "memcpy(pcVar9,pcVar8,sVar12 + 1)" identifier (argument_list "(pcVar9,pcVar8,sVar12 + 1)" ( identifier , identifier , (binary_expression "sVar12 + 1" identifier + number_literal) ))) ;) (expression_statement "psVar11 = symbol_temp_new_now();" (assignment_expression "psVar11 = symbol_temp_new_now()" identifier = (call_expression "symbol_temp_new_now()" identifier (argument_list "()" ( )))) ;) (expression_statement "sprintf((char *)local_cc,"GNU AS %s","2.31.1");" (call_expression "sprintf((char *)local_cc,"GNU AS %s","2.31.1")" identifier (argument_list "((char *)local_cc,"GNU AS %s","2.31.1")" ( (cast_expression "(char *)local_cc" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""GNU AS %s"" " string_content ") , (string_literal ""2.31.1"" " string_content ") ))) ;) (expression_statement "peVar41 = local_cc;" (assignment_expression "peVar41 = local_cc" identifier = identifier) ;) (do_statement "do {\n      peVar23 = peVar41;\n      uVar27 = (uint)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar23->X_add_symbol;\n      uVar29 = uVar27 & 0x80808080;\n      peVar41 = (expressionS *)&peVar23->X_op_symbol;\n    } while (uVar29 == 0);" do (compound_statement "{\n      peVar23 = peVar41;\n      uVar27 = (uint)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar23->X_add_symbol;\n      uVar29 = uVar27 & 0x80808080;\n      peVar41 = (expressionS *)&peVar23->X_op_symbol;\n    }" { (expression_statement "peVar23 = peVar41;" (assignment_expression "peVar23 = peVar41" identifier = identifier) ;) (expression_statement "uVar27 = (uint)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar23->X_add_symbol;" (assignment_expression "uVar27 = (uint)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar23->X_add_symbol" identifier = (binary_expression "(uint)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar23->X_add_symbol" (call_expression "(uint)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U)" ( (binary_expression "(int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U" (cast_expression "(int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name" & (field_expression "peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name" (field_expression "peVar23->X_add_symbol[-0x4f141].sy_obj" (subscript_expression "peVar23->X_add_symbol[-0x4f141]" (field_expression "peVar23->X_add_symbol" identifier -> field_identifier) [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) ))) & (unary_expression "~(uint)peVar23->X_add_symbol" ~ (cast_expression "(uint)peVar23->X_add_symbol" ( (type_descriptor "uint" type_identifier) ) (field_expression "peVar23->X_add_symbol" identifier -> field_identifier))))) ;) (expression_statement "uVar29 = uVar27 & 0x80808080;" (assignment_expression "uVar29 = uVar27 & 0x80808080" identifier = (binary_expression "uVar27 & 0x80808080" identifier & number_literal)) ;) (expression_statement "peVar41 = (expressionS *)&peVar23->X_op_symbol;" (assignment_expression "peVar41 = (expressionS *)&peVar23->X_op_symbol" identifier = (cast_expression "(expressionS *)&peVar23->X_op_symbol" ( (type_descriptor "expressionS *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&peVar23->X_op_symbol" & (field_expression "peVar23->X_op_symbol" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(uVar29 == 0)" ( (binary_expression "uVar29 == 0" identifier == number_literal) )) ;) (expression_statement "bVar34 = (uVar27 & 0x8080) == 0;" (assignment_expression "bVar34 = (uVar27 & 0x8080) == 0" identifier = (binary_expression "(uVar27 & 0x8080) == 0" (parenthesized_expression "(uVar27 & 0x8080)" ( (binary_expression "uVar27 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar34) {\n      uVar29 = uVar29 >> 0x10;\n    }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n      uVar29 = uVar29 >> 0x10;\n    }" { (expression_statement "uVar29 = uVar29 >> 0x10;" (assignment_expression "uVar29 = uVar29 >> 0x10" identifier = (binary_expression "uVar29 >> 0x10" identifier >> number_literal)) ;) })) (expression_statement "ppsVar24 = &peVar23->X_op_symbol;" (assignment_expression "ppsVar24 = &peVar23->X_op_symbol" identifier = (pointer_expression "&peVar23->X_op_symbol" & (field_expression "peVar23->X_op_symbol" identifier -> field_identifier))) ;) (if_statement "if (bVar34) {\n      ppsVar24 = (symbolS **)((int)&peVar23->X_op_symbol + 2);\n    }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n      ppsVar24 = (symbolS **)((int)&peVar23->X_op_symbol + 2);\n    }" { (expression_statement "ppsVar24 = (symbolS **)((int)&peVar23->X_op_symbol + 2);" (assignment_expression "ppsVar24 = (symbolS **)((int)&peVar23->X_op_symbol + 2)" identifier = (cast_expression "(symbolS **)((int)&peVar23->X_op_symbol + 2)" ( (type_descriptor "symbolS **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&peVar23->X_op_symbol + 2)" ( (binary_expression "(int)&peVar23->X_op_symbol + 2" (cast_expression "(int)&peVar23->X_op_symbol" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&peVar23->X_op_symbol" & (field_expression "peVar23->X_op_symbol" identifier -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "uVar29 = (int)ppsVar24 + (-(int)local_cc - (uint)CARRY1((byte)uVar29,(byte)uVar29)) + -2;" (assignment_expression "uVar29 = (int)ppsVar24 + (-(int)local_cc - (uint)CARRY1((byte)uVar29,(byte)uVar29)) + -2" identifier = (binary_expression "(int)ppsVar24 + (-(int)local_cc - (uint)CARRY1((byte)uVar29,(byte)uVar29)) + -2" (binary_expression "(int)ppsVar24 + (-(int)local_cc - (uint)CARRY1((byte)uVar29,(byte)uVar29))" (cast_expression "(int)ppsVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(int)local_cc - (uint)CARRY1((byte)uVar29,(byte)uVar29))" ( (binary_expression "-(int)local_cc - (uint)CARRY1((byte)uVar29,(byte)uVar29)" (unary_expression "-(int)local_cc" - (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) - (cast_expression "(uint)CARRY1((byte)uVar29,(byte)uVar29)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar29,(byte)uVar29)" identifier (argument_list "((byte)uVar29,(byte)uVar29)" ( (cast_expression "(byte)uVar29" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar29" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) + number_literal)) ;) (expression_statement "pcVar8 = frag_more(uVar29);" (assignment_expression "pcVar8 = frag_more(uVar29)" identifier = (call_expression "frag_more(uVar29)" identifier (argument_list "(uVar29)" ( identifier )))) ;) (if_statement "if (uVar29 < 4) {\n      if (uVar29 != 0) {\n        *pcVar8 = (char)exp.X_add_symbol;\n        if ((uVar29 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);\n        }\n      }\n    }\n    else {\n      *(symbolS **)pcVar8 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar8 + (uVar29 - 4)) = *(undefined4 *)((int)&exp_1 + uVar29 + 0x10);\n      iVar7 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      puVar28 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (uVar29 = iVar7 + uVar29 >> 2; uVar29 != 0; uVar29 = uVar29 - 1) {\n        *puVar32 = *puVar28;\n        puVar28 = puVar28 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }" if (parenthesized_expression "(uVar29 < 4)" ( (binary_expression "uVar29 < 4" identifier < number_literal) )) (compound_statement "{\n      if (uVar29 != 0) {\n        *pcVar8 = (char)exp.X_add_symbol;\n        if ((uVar29 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);\n        }\n      }\n    }" { (if_statement "if (uVar29 != 0) {\n        *pcVar8 = (char)exp.X_add_symbol;\n        if ((uVar29 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);\n        }\n      }" if (parenthesized_expression "(uVar29 != 0)" ( (binary_expression "uVar29 != 0" identifier != number_literal) )) (compound_statement "{\n        *pcVar8 = (char)exp.X_add_symbol;\n        if ((uVar29 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);\n        }\n      }" { (expression_statement "*pcVar8 = (char)exp.X_add_symbol;" (assignment_expression "*pcVar8 = (char)exp.X_add_symbol" (pointer_expression "*pcVar8" * identifier) = (cast_expression "(char)exp.X_add_symbol" ( (type_descriptor "char" primitive_type) ) (field_expression "exp.X_add_symbol" identifier . field_identifier))) ;) (if_statement "if ((uVar29 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);\n        }" if (parenthesized_expression "((uVar29 & 2) != 0)" ( (binary_expression "(uVar29 & 2) != 0" (parenthesized_expression "(uVar29 & 2)" ( (binary_expression "uVar29 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          *(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);\n        }" { (expression_statement "*(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12);" (assignment_expression "*(undefined2 *)(pcVar8 + (uVar29 - 2)) = *(undefined2 *)((int)&exp_1 + uVar29 + 0x12)" (pointer_expression "*(undefined2 *)(pcVar8 + (uVar29 - 2))" * (cast_expression "(undefined2 *)(pcVar8 + (uVar29 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + (uVar29 - 2))" ( (binary_expression "pcVar8 + (uVar29 - 2)" identifier + (parenthesized_expression "(uVar29 - 2)" ( (binary_expression "uVar29 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)((int)&exp_1 + uVar29 + 0x12)" * (cast_expression "(undefined2 *)((int)&exp_1 + uVar29 + 0x12)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&exp_1 + uVar29 + 0x12)" ( (binary_expression "(int)&exp_1 + uVar29 + 0x12" (binary_expression "(int)&exp_1 + uVar29" (cast_expression "(int)&exp_1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&exp_1" & identifier)) + identifier) + number_literal) ))))) ;) })) })) }) (else_clause "else {\n      *(symbolS **)pcVar8 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar8 + (uVar29 - 4)) = *(undefined4 *)((int)&exp_1 + uVar29 + 0x10);\n      iVar7 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      puVar28 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (uVar29 = iVar7 + uVar29 >> 2; uVar29 != 0; uVar29 = uVar29 - 1) {\n        *puVar32 = *puVar28;\n        puVar28 = puVar28 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }" else (compound_statement "{\n      *(symbolS **)pcVar8 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar8 + (uVar29 - 4)) = *(undefined4 *)((int)&exp_1 + uVar29 + 0x10);\n      iVar7 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      puVar28 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (uVar29 = iVar7 + uVar29 >> 2; uVar29 != 0; uVar29 = uVar29 - 1) {\n        *puVar32 = *puVar28;\n        puVar28 = puVar28 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }" { (expression_statement "*(symbolS **)pcVar8 = exp.X_add_symbol;" (assignment_expression "*(symbolS **)pcVar8 = exp.X_add_symbol" (pointer_expression "*(symbolS **)pcVar8" * (cast_expression "(symbolS **)pcVar8" ( (type_descriptor "symbolS **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = (field_expression "exp.X_add_symbol" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)(pcVar8 + (uVar29 - 4)) = *(undefined4 *)((int)&exp_1 + uVar29 + 0x10);" (assignment_expression "*(undefined4 *)(pcVar8 + (uVar29 - 4)) = *(undefined4 *)((int)&exp_1 + uVar29 + 0x10)" (pointer_expression "*(undefined4 *)(pcVar8 + (uVar29 - 4))" * (cast_expression "(undefined4 *)(pcVar8 + (uVar29 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + (uVar29 - 4))" ( (binary_expression "pcVar8 + (uVar29 - 4)" identifier + (parenthesized_expression "(uVar29 - 4)" ( (binary_expression "uVar29 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)((int)&exp_1 + uVar29 + 0x10)" * (cast_expression "(undefined4 *)((int)&exp_1 + uVar29 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&exp_1 + uVar29 + 0x10)" ( (binary_expression "(int)&exp_1 + uVar29 + 0x10" (binary_expression "(int)&exp_1 + uVar29" (cast_expression "(int)&exp_1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&exp_1" & identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "iVar7 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);" (assignment_expression "iVar7 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc)" identifier = (binary_expression "(int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc)" (cast_expression "(int)pcVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(pcVar8 + 4) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(pcVar8 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pcVar8 + 4) & 0xfffffffc" (call_expression "(uint)(pcVar8 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar8 + 4)" ( (binary_expression "pcVar8 + 4" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "puVar28 = (undefined4 *)((int)local_cc - iVar7);" (assignment_expression "puVar28 = (undefined4 *)((int)local_cc - iVar7)" identifier = (cast_expression "(undefined4 *)((int)local_cc - iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_cc - iVar7)" ( (binary_expression "(int)local_cc - iVar7" (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "puVar32 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);" (assignment_expression "puVar32 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pcVar8 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pcVar8 + 4) & 0xfffffffc" (call_expression "(uint)(pcVar8 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar8 + 4)" ( (binary_expression "pcVar8 + 4" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar29 = iVar7 + uVar29 >> 2; uVar29 != 0; uVar29 = uVar29 - 1) {\n        *puVar32 = *puVar28;\n        puVar28 = puVar28 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }" for ( (assignment_expression "uVar29 = iVar7 + uVar29 >> 2" identifier = (binary_expression "iVar7 + uVar29 >> 2" (binary_expression "iVar7 + uVar29" identifier + identifier) >> number_literal)) ; (binary_expression "uVar29 != 0" identifier != number_literal) ; (assignment_expression "uVar29 = uVar29 - 1" identifier = (binary_expression "uVar29 - 1" identifier - number_literal)) ) (compound_statement "{\n        *puVar32 = *puVar28;\n        puVar28 = puVar28 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }" { (expression_statement "*puVar32 = *puVar28;" (assignment_expression "*puVar32 = *puVar28" (pointer_expression "*puVar32" * identifier) = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "puVar28 = puVar28 + (uint)bVar36 * -2 + 1;" (assignment_expression "puVar28 = puVar28 + (uint)bVar36 * -2 + 1" identifier = (binary_expression "puVar28 + (uint)bVar36 * -2 + 1" (binary_expression "puVar28 + (uint)bVar36 * -2" identifier + (binary_expression "(uint)bVar36 * -2" (cast_expression "(uint)bVar36" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar32 = puVar32 + (uint)bVar36 * -2 + 1;" (assignment_expression "puVar32 = puVar32 + (uint)bVar36 * -2 + 1" identifier = (binary_expression "puVar32 + (uint)bVar36 * -2 + 1" (binary_expression "puVar32 + (uint)bVar36 * -2" identifier + (binary_expression "(uint)bVar36 * -2" (cast_expression "(uint)bVar36" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }))) (expression_statement "uVar18 = out_header(paVar6,&exp_1);" (assignment_expression "uVar18 = out_header(paVar6,&exp_1)" identifier = (call_expression "out_header(paVar6,&exp_1)" identifier (argument_list "(paVar6,&exp_1)" ( identifier , (pointer_expression "&exp_1" & identifier) )))) ;) (expression_statement "psVar20 = exp_1.X_add_symbol;" (assignment_expression "psVar20 = exp_1.X_add_symbol" identifier = (field_expression "exp_1.X_add_symbol" identifier . field_identifier)) ;) (expression_statement "pcVar8 = frag_more(2);" (assignment_expression "pcVar8 = frag_more(2)" identifier = (call_expression "frag_more(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "number_to_chars_littleendian(pcVar8,2,2);" (call_expression "number_to_chars_littleendian(pcVar8,2,2)" identifier (argument_list "(pcVar8,2,2)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "exp.X_add_symbol = section_symbol(paVar14);" (assignment_expression "exp.X_add_symbol = section_symbol(paVar14)" (field_expression "exp.X_add_symbol" identifier . field_identifier) = (call_expression "section_symbol(paVar14)" identifier (argument_list "(paVar14)" ( identifier )))) ;) (expression_statement "exp._16_1_ = 3;" (assignment_expression "exp._16_1_ = 3" (field_expression "exp._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._0_4_ = 0;" (assignment_expression "exp.X_add_number._0_4_ = 0" (field_expression "exp.X_add_number._0_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._4_4_ = 0;" (assignment_expression "exp.X_add_number._4_4_ = 0" (field_expression "exp.X_add_number._4_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "uVar27 = uVar18;" (assignment_expression "uVar27 = uVar18" identifier = identifier) ;) (expression_statement "emit_expr(local_cc,uVar18);" (call_expression "emit_expr(local_cc,uVar18)" identifier (argument_list "(local_cc,uVar18)" ( identifier , identifier ))) ;) (expression_statement "uVar29 = sizeof_address;" (assignment_expression "uVar29 = sizeof_address" identifier = identifier) ;) (expression_statement "frag_append_1_char(sizeof_address);" (call_expression "frag_append_1_char(sizeof_address)" identifier (argument_list "(sizeof_address)" ( identifier ))) ;) (expression_statement "out_uleb128(CONCAT44(uVar27,uVar29));" (call_expression "out_uleb128(CONCAT44(uVar27,uVar29))" identifier (argument_list "(CONCAT44(uVar27,uVar29))" ( (call_expression "CONCAT44(uVar27,uVar29)" identifier (argument_list "(uVar27,uVar29)" ( identifier , identifier ))) ))) ;) (expression_statement "exp.X_add_symbol = section_symbol(sec);" (assignment_expression "exp.X_add_symbol = section_symbol(sec)" (field_expression "exp.X_add_symbol" identifier . field_identifier) = (call_expression "section_symbol(sec)" identifier (argument_list "(sec)" ( identifier )))) ;) (expression_statement "exp._16_1_ = 3;" (assignment_expression "exp._16_1_ = 3" (field_expression "exp._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._0_4_ = 0;" (assignment_expression "exp.X_add_number._0_4_ = 0" (field_expression "exp.X_add_number._0_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._4_4_ = 0;" (assignment_expression "exp.X_add_number._4_4_ = 0" (field_expression "exp.X_add_number._4_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "emit_expr(local_cc,4);" (call_expression "emit_expr(local_cc,4)" identifier (argument_list "(local_cc,4)" ( identifier , number_literal ))) ;) (if_statement "if (all_segs->next == (line_seg *)0x0) {\n      exp_1.X_add_symbol = all_segs->text_start;\n      exp_1._16_1_ = 3;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n      exp_1._16_1_ = 3;\n      exp_1.X_add_symbol = all_segs->text_end;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n    }\n    else {\n      exp.X_add_symbol = section_symbol(local_ec);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      emit_expr(local_cc,uVar18);\n    }" if (parenthesized_expression "(all_segs->next == (line_seg *)0x0)" ( (binary_expression "all_segs->next == (line_seg *)0x0" (field_expression "all_segs->next" identifier -> field_identifier) == (cast_expression "(line_seg *)0x0" ( (type_descriptor "line_seg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      exp_1.X_add_symbol = all_segs->text_start;\n      exp_1._16_1_ = 3;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n      exp_1._16_1_ = 3;\n      exp_1.X_add_symbol = all_segs->text_end;\n      exp_1.X_add_number._0_4_ = 0;\n      exp_1.X_add_number._4_4_ = 0;\n      emit_expr(&exp_1,sizeof_address);\n    }" { (expression_statement "exp_1.X_add_symbol = all_segs->text_start;" (assignment_expression "exp_1.X_add_symbol = all_segs->text_start" (field_expression "exp_1.X_add_symbol" identifier . field_identifier) = (field_expression "all_segs->text_start" identifier -> field_identifier)) ;) (expression_statement "exp_1._16_1_ = 3;" (assignment_expression "exp_1._16_1_ = 3" (field_expression "exp_1._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp_1.X_add_number._0_4_ = 0;" (assignment_expression "exp_1.X_add_number._0_4_ = 0" (field_expression "exp_1.X_add_number._0_4_" (field_expression "exp_1.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp_1.X_add_number._4_4_ = 0;" (assignment_expression "exp_1.X_add_number._4_4_ = 0" (field_expression "exp_1.X_add_number._4_4_" (field_expression "exp_1.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "emit_expr(&exp_1,sizeof_address);" (call_expression "emit_expr(&exp_1,sizeof_address)" identifier (argument_list "(&exp_1,sizeof_address)" ( (pointer_expression "&exp_1" & identifier) , identifier ))) ;) (expression_statement "exp_1._16_1_ = 3;" (assignment_expression "exp_1._16_1_ = 3" (field_expression "exp_1._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp_1.X_add_symbol = all_segs->text_end;" (assignment_expression "exp_1.X_add_symbol = all_segs->text_end" (field_expression "exp_1.X_add_symbol" identifier . field_identifier) = (field_expression "all_segs->text_end" identifier -> field_identifier)) ;) (expression_statement "exp_1.X_add_number._0_4_ = 0;" (assignment_expression "exp_1.X_add_number._0_4_ = 0" (field_expression "exp_1.X_add_number._0_4_" (field_expression "exp_1.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp_1.X_add_number._4_4_ = 0;" (assignment_expression "exp_1.X_add_number._4_4_ = 0" (field_expression "exp_1.X_add_number._4_4_" (field_expression "exp_1.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "emit_expr(&exp_1,sizeof_address);" (call_expression "emit_expr(&exp_1,sizeof_address)" identifier (argument_list "(&exp_1,sizeof_address)" ( (pointer_expression "&exp_1" & identifier) , identifier ))) ;) }) (else_clause "else {\n      exp.X_add_symbol = section_symbol(local_ec);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      emit_expr(local_cc,uVar18);\n    }" else (compound_statement "{\n      exp.X_add_symbol = section_symbol(local_ec);\n      exp._16_1_ = 3;\n      exp.X_add_number._0_4_ = 0;\n      exp.X_add_number._4_4_ = 0;\n      emit_expr(local_cc,uVar18);\n    }" { (expression_statement "exp.X_add_symbol = section_symbol(local_ec);" (assignment_expression "exp.X_add_symbol = section_symbol(local_ec)" (field_expression "exp.X_add_symbol" identifier . field_identifier) = (call_expression "section_symbol(local_ec)" identifier (argument_list "(local_ec)" ( identifier )))) ;) (expression_statement "exp._16_1_ = 3;" (assignment_expression "exp._16_1_ = 3" (field_expression "exp._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._0_4_ = 0;" (assignment_expression "exp.X_add_number._0_4_ = 0" (field_expression "exp.X_add_number._0_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._4_4_ = 0;" (assignment_expression "exp.X_add_number._4_4_ = 0" (field_expression "exp.X_add_number._4_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "emit_expr(local_cc,uVar18);" (call_expression "emit_expr(local_cc,uVar18)" identifier (argument_list "(local_cc,uVar18)" ( identifier , identifier ))) ;) }))) (expression_statement "exp._16_1_ = 3;" (assignment_expression "exp._16_1_ = 3" (field_expression "exp._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._0_4_ = 0;" (assignment_expression "exp.X_add_number._0_4_ = 0" (field_expression "exp.X_add_number._0_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._4_4_ = 0;" (assignment_expression "exp.X_add_number._4_4_ = 0" (field_expression "exp.X_add_number._4_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_symbol = psVar21;" (assignment_expression "exp.X_add_symbol = psVar21" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(local_cc,uVar18);" (call_expression "emit_expr(local_cc,uVar18)" identifier (argument_list "(local_cc,uVar18)" ( identifier , identifier ))) ;) (expression_statement "exp._16_1_ = 3;" (assignment_expression "exp._16_1_ = 3" (field_expression "exp._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._0_4_ = 0;" (assignment_expression "exp.X_add_number._0_4_ = 0" (field_expression "exp.X_add_number._0_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._4_4_ = 0;" (assignment_expression "exp.X_add_number._4_4_ = 0" (field_expression "exp.X_add_number._4_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_symbol = psVar10;" (assignment_expression "exp.X_add_symbol = psVar10" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(local_cc,uVar18);" (call_expression "emit_expr(local_cc,uVar18)" identifier (argument_list "(local_cc,uVar18)" ( identifier , identifier ))) ;) (expression_statement "exp._16_1_ = 3;" (assignment_expression "exp._16_1_ = 3" (field_expression "exp._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._0_4_ = 0;" (assignment_expression "exp.X_add_number._0_4_ = 0" (field_expression "exp.X_add_number._0_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._4_4_ = 0;" (assignment_expression "exp.X_add_number._4_4_ = 0" (field_expression "exp.X_add_number._4_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_symbol = psVar11;" (assignment_expression "exp.X_add_symbol = psVar11" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(local_cc,uVar18);" (call_expression "emit_expr(local_cc,uVar18)" identifier (argument_list "(local_cc,uVar18)" ( identifier , identifier ))) ;) (expression_statement "pcVar8 = frag_more(2);" (assignment_expression "pcVar8 = frag_more(2)" identifier = (call_expression "frag_more(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "number_to_chars_littleendian(pcVar8,0x8001,2);" (call_expression "number_to_chars_littleendian(pcVar8,0x8001,2)" identifier (argument_list "(pcVar8,0x8001,2)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "symbol_set_value_now(psVar20);" (call_expression "symbol_set_value_now(psVar20)" identifier (argument_list "(psVar20)" ( identifier ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "as_abort("../../gas/dwarf2dbg.c",0x830,"out_debug_str");" (call_expression "as_abort("../../gas/dwarf2dbg.c",0x830,"out_debug_str")" identifier (argument_list "("../../gas/dwarf2dbg.c",0x830,"out_debug_str")" ( (string_literal ""../../gas/dwarf2dbg.c"" " string_content ") , number_literal , (string_literal ""out_debug_str"" " string_content ") ))) ;) })))
(translation_unit "void FUN_0001be60(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  longlong lVar3;\n  undefined *puVar4;\n  undefined1 auVar5 [4];\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  char *pcVar12;\n  size_t sVar13;\n  void *pvVar14;\n  int iVar15;\n  undefined4 uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  int iVar22;\n  uint *puVar23;\n  byte *pbVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  uint uVar27;\n  byte *pbVar28;\n  int *piVar29;\n  int iVar30;\n  undefined4 *puVar31;\n  bool bVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  longlong lVar36;\n  undefined8 uVar37;\n  uint local_10c;\n  int local_108;\n  uint local_100;\n  int local_ec;\n  int local_e8;\n  int local_d0;\n  uint *local_cc;\n  int *local_c4;\n  int local_b0;\n  int local_ac;\n  uint local_a8;\n  undefined1 local_a4 [4];\n  undefined1 local_a0 [4];\n  uint local_9c [4];\n  undefined1 local_8c;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x1be6b;\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");\n  bVar33 = true;\n  if (iVar6 != 0) {\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");\n  if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002be00("duplicate .debug_line sections");\n  }\n  if ((DAT_00088978 == (int *)0x0) && (bVar33)) {\n    return;\n  }\n  DAT_00088950 = FUN_00054100();\n  uVar7 = FUN_00036b20(".debug_line",0);\n  bfd_set_section_flags(DAT_00089944,uVar7,0x2008);\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }\n  uVar8 = FUN_0001a5e0();\n  iVar6 = local_b0;\n  uVar9 = FUN_00024b20(2);\n  FUN_000416b0(uVar9,2,0,2);\n  iVar10 = FUN_00038f20();\n  iVar11 = FUN_00038f20();\n  local_a0[0] = 0x14;\n  uVar27 = 1;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_00031660(&local_b0,uVar8);\n  FUN_0003b7e0(iVar10);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0xfffffffb);\n  FUN_00024e20(0xe);\n  FUN_00024e20(0xd);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  if (1 < DAT_00088960) {\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }\n  uVar27 = 1;\n  FUN_00024e20(0);\n  if (1 < DAT_0008896c) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }\nLAB_0001c228:\n  FUN_00024e20(0);\n  FUN_0003b7e0(iVar11);\n  puVar4 = PTR__bfd_std_section_0007ffb0;\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }\n  if (DAT_000897f0 != 0) {\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }\n  FUN_0003b7e0(iVar6);\n  if (!bVar33) {\n    return;\n  }\n  if (DAT_00088978 == (int *)0x0) {\n                    \n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_00036b20(".debug_info",0);\n  uVar9 = FUN_00036b20(".debug_abbrev",0);\n  uVar16 = FUN_00036b20(".debug_aranges",0);\n  iVar10 = FUN_00036b20(".debug_str",0);\n  bfd_set_section_flags(DAT_00089944,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);\n  iVar6 = DAT_00088950;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar27 = iVar6 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(uVar16,iVar6);\n  local_ec = *DAT_00088978;\n  if (local_ec == 0) goto LAB_0001c984;\n  local_ec = FUN_00036b20(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00089944,local_ec,0x2008);\n  uVar27 = DAT_00088950 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(local_ec,iVar6);\n  iVar6 = DAT_00088950;\n  FUN_00036b80(local_ec,0);\n  if (iVar6 == 0) {\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }\n  else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\nLAB_0001c984:\n  iVar11 = DAT_00088950;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a5e0();\n  auVar5 = local_a4;\n  uVar27 = local_a8;\n  iVar2 = local_b0;\n  uVar16 = FUN_00024b20(2);\n  FUN_000416b0(uVar16,2,0,2);\n  local_9c[0] = FUN_00036bd0(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_00031660(local_cc,uVar17);\n  uVar25 = 2 - uVar27;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024e20(iVar11);\n  FUN_00024e20(0);\n  uVar27 = uVar18 + 3;\n  iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar6 = iVar11 * 2;\n  uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);\n  piVar29 = DAT_00088978;\n  if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }\n  for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }\n  iVar6 = FUN_00024b20(iVar6);\n  FUN_000416b0(iVar6,0,0,iVar11);\n  FUN_000416b0(iVar6 + iVar11,0,0,iVar11);\n  FUN_0003b7e0(iVar2);\n  FUN_00036b80(uVar9,0);\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_0001a680();\n  FUN_0001a680();\n  if (*DAT_00088978 == 0) {\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_00036b80(iVar10,0);\n  uVar27 = FUN_00038f70();\n  if (DAT_0008896c != 0) {\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }\n                    \n  FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);\n}\n\n" (function_definition "void FUN_0001be60(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  longlong lVar3;\n  undefined *puVar4;\n  undefined1 auVar5 [4];\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  char *pcVar12;\n  size_t sVar13;\n  void *pvVar14;\n  int iVar15;\n  undefined4 uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  int iVar22;\n  uint *puVar23;\n  byte *pbVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  uint uVar27;\n  byte *pbVar28;\n  int *piVar29;\n  int iVar30;\n  undefined4 *puVar31;\n  bool bVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  longlong lVar36;\n  undefined8 uVar37;\n  uint local_10c;\n  int local_108;\n  uint local_100;\n  int local_ec;\n  int local_e8;\n  int local_d0;\n  uint *local_cc;\n  int *local_c4;\n  int local_b0;\n  int local_ac;\n  uint local_a8;\n  undefined1 local_a4 [4];\n  undefined1 local_a0 [4];\n  uint local_9c [4];\n  undefined1 local_8c;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x1be6b;\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");\n  bVar33 = true;\n  if (iVar6 != 0) {\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");\n  if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002be00("duplicate .debug_line sections");\n  }\n  if ((DAT_00088978 == (int *)0x0) && (bVar33)) {\n    return;\n  }\n  DAT_00088950 = FUN_00054100();\n  uVar7 = FUN_00036b20(".debug_line",0);\n  bfd_set_section_flags(DAT_00089944,uVar7,0x2008);\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }\n  uVar8 = FUN_0001a5e0();\n  iVar6 = local_b0;\n  uVar9 = FUN_00024b20(2);\n  FUN_000416b0(uVar9,2,0,2);\n  iVar10 = FUN_00038f20();\n  iVar11 = FUN_00038f20();\n  local_a0[0] = 0x14;\n  uVar27 = 1;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_00031660(&local_b0,uVar8);\n  FUN_0003b7e0(iVar10);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0xfffffffb);\n  FUN_00024e20(0xe);\n  FUN_00024e20(0xd);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  if (1 < DAT_00088960) {\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }\n  uVar27 = 1;\n  FUN_00024e20(0);\n  if (1 < DAT_0008896c) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }\nLAB_0001c228:\n  FUN_00024e20(0);\n  FUN_0003b7e0(iVar11);\n  puVar4 = PTR__bfd_std_section_0007ffb0;\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }\n  if (DAT_000897f0 != 0) {\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }\n  FUN_0003b7e0(iVar6);\n  if (!bVar33) {\n    return;\n  }\n  if (DAT_00088978 == (int *)0x0) {\n                    \n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_00036b20(".debug_info",0);\n  uVar9 = FUN_00036b20(".debug_abbrev",0);\n  uVar16 = FUN_00036b20(".debug_aranges",0);\n  iVar10 = FUN_00036b20(".debug_str",0);\n  bfd_set_section_flags(DAT_00089944,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);\n  iVar6 = DAT_00088950;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar27 = iVar6 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(uVar16,iVar6);\n  local_ec = *DAT_00088978;\n  if (local_ec == 0) goto LAB_0001c984;\n  local_ec = FUN_00036b20(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00089944,local_ec,0x2008);\n  uVar27 = DAT_00088950 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(local_ec,iVar6);\n  iVar6 = DAT_00088950;\n  FUN_00036b80(local_ec,0);\n  if (iVar6 == 0) {\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }\n  else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\nLAB_0001c984:\n  iVar11 = DAT_00088950;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a5e0();\n  auVar5 = local_a4;\n  uVar27 = local_a8;\n  iVar2 = local_b0;\n  uVar16 = FUN_00024b20(2);\n  FUN_000416b0(uVar16,2,0,2);\n  local_9c[0] = FUN_00036bd0(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_00031660(local_cc,uVar17);\n  uVar25 = 2 - uVar27;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024e20(iVar11);\n  FUN_00024e20(0);\n  uVar27 = uVar18 + 3;\n  iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar6 = iVar11 * 2;\n  uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);\n  piVar29 = DAT_00088978;\n  if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }\n  for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }\n  iVar6 = FUN_00024b20(iVar6);\n  FUN_000416b0(iVar6,0,0,iVar11);\n  FUN_000416b0(iVar6 + iVar11,0,0,iVar11);\n  FUN_0003b7e0(iVar2);\n  FUN_00036b80(uVar9,0);\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_0001a680();\n  FUN_0001a680();\n  if (*DAT_00088978 == 0) {\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_00036b80(iVar10,0);\n  uVar27 = FUN_00038f70();\n  if (DAT_0008896c != 0) {\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }\n                    \n  FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);\n}" primitive_type (function_declarator "FUN_0001be60(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  longlong lVar3;\n  undefined *puVar4;\n  undefined1 auVar5 [4];\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  char *pcVar12;\n  size_t sVar13;\n  void *pvVar14;\n  int iVar15;\n  undefined4 uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  int iVar22;\n  uint *puVar23;\n  byte *pbVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  uint uVar27;\n  byte *pbVar28;\n  int *piVar29;\n  int iVar30;\n  undefined4 *puVar31;\n  bool bVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  longlong lVar36;\n  undefined8 uVar37;\n  uint local_10c;\n  int local_108;\n  uint local_100;\n  int local_ec;\n  int local_e8;\n  int local_d0;\n  uint *local_cc;\n  int *local_c4;\n  int local_b0;\n  int local_ac;\n  uint local_a8;\n  undefined1 local_a4 [4];\n  undefined1 local_a0 [4];\n  uint local_9c [4];\n  undefined1 local_8c;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x1be6b;\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");\n  bVar33 = true;\n  if (iVar6 != 0) {\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");\n  if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002be00("duplicate .debug_line sections");\n  }\n  if ((DAT_00088978 == (int *)0x0) && (bVar33)) {\n    return;\n  }\n  DAT_00088950 = FUN_00054100();\n  uVar7 = FUN_00036b20(".debug_line",0);\n  bfd_set_section_flags(DAT_00089944,uVar7,0x2008);\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }\n  uVar8 = FUN_0001a5e0();\n  iVar6 = local_b0;\n  uVar9 = FUN_00024b20(2);\n  FUN_000416b0(uVar9,2,0,2);\n  iVar10 = FUN_00038f20();\n  iVar11 = FUN_00038f20();\n  local_a0[0] = 0x14;\n  uVar27 = 1;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_00031660(&local_b0,uVar8);\n  FUN_0003b7e0(iVar10);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0xfffffffb);\n  FUN_00024e20(0xe);\n  FUN_00024e20(0xd);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  if (1 < DAT_00088960) {\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }\n  uVar27 = 1;\n  FUN_00024e20(0);\n  if (1 < DAT_0008896c) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }\nLAB_0001c228:\n  FUN_00024e20(0);\n  FUN_0003b7e0(iVar11);\n  puVar4 = PTR__bfd_std_section_0007ffb0;\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }\n  if (DAT_000897f0 != 0) {\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }\n  FUN_0003b7e0(iVar6);\n  if (!bVar33) {\n    return;\n  }\n  if (DAT_00088978 == (int *)0x0) {\n                    \n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_00036b20(".debug_info",0);\n  uVar9 = FUN_00036b20(".debug_abbrev",0);\n  uVar16 = FUN_00036b20(".debug_aranges",0);\n  iVar10 = FUN_00036b20(".debug_str",0);\n  bfd_set_section_flags(DAT_00089944,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);\n  iVar6 = DAT_00088950;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar27 = iVar6 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(uVar16,iVar6);\n  local_ec = *DAT_00088978;\n  if (local_ec == 0) goto LAB_0001c984;\n  local_ec = FUN_00036b20(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00089944,local_ec,0x2008);\n  uVar27 = DAT_00088950 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(local_ec,iVar6);\n  iVar6 = DAT_00088950;\n  FUN_00036b80(local_ec,0);\n  if (iVar6 == 0) {\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }\n  else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\nLAB_0001c984:\n  iVar11 = DAT_00088950;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a5e0();\n  auVar5 = local_a4;\n  uVar27 = local_a8;\n  iVar2 = local_b0;\n  uVar16 = FUN_00024b20(2);\n  FUN_000416b0(uVar16,2,0,2);\n  local_9c[0] = FUN_00036bd0(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_00031660(local_cc,uVar17);\n  uVar25 = 2 - uVar27;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024e20(iVar11);\n  FUN_00024e20(0);\n  uVar27 = uVar18 + 3;\n  iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar6 = iVar11 * 2;\n  uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);\n  piVar29 = DAT_00088978;\n  if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }\n  for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }\n  iVar6 = FUN_00024b20(iVar6);\n  FUN_000416b0(iVar6,0,0,iVar11);\n  FUN_000416b0(iVar6 + iVar11,0,0,iVar11);\n  FUN_0003b7e0(iVar2);\n  FUN_00036b80(uVar9,0);\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_0001a680();\n  FUN_0001a680();\n  if (*DAT_00088978 == 0) {\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_00036b80(iVar10,0);\n  uVar27 = FUN_00038f70();\n  if (DAT_0008896c != 0) {\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }\n                    \n  FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "longlong lVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined1 auVar5 [4];" type_identifier (array_declarator "auVar5 [4]" identifier [ number_literal ]) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "void *pvVar14;" primitive_type (pointer_declarator "*pvVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "uint *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "undefined4 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "byte *pbVar28;" type_identifier (pointer_declarator "*pbVar28" * identifier) ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "undefined4 *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "bool bVar33;" primitive_type identifier ;) (declaration "bool bVar34;" primitive_type identifier ;) (declaration "byte bVar35;" type_identifier identifier ;) (declaration "longlong lVar36;" type_identifier identifier ;) (declaration "undefined8 uVar37;" type_identifier identifier ;) (declaration "uint local_10c;" type_identifier identifier ;) (declaration "int local_108;" primitive_type identifier ;) (declaration "uint local_100;" type_identifier identifier ;) (declaration "int local_ec;" primitive_type identifier ;) (declaration "int local_e8;" primitive_type identifier ;) (declaration "int local_d0;" primitive_type identifier ;) (declaration "uint *local_cc;" type_identifier (pointer_declarator "*local_cc" * identifier) ;) (declaration "int *local_c4;" primitive_type (pointer_declarator "*local_c4" * identifier) ;) (declaration "int local_b0;" primitive_type identifier ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "uint local_a8;" type_identifier identifier ;) (declaration "undefined1 local_a4 [4];" type_identifier (array_declarator "local_a4 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_a0 [4];" type_identifier (array_declarator "local_a0 [4]" identifier [ number_literal ]) ;) (declaration "uint local_9c [4];" type_identifier (array_declarator "local_9c [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_8c;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x1be6b;" (assignment_expression "uStack_14 = 0x1be6b" identifier = number_literal) ;) (expression_statement "iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");" (assignment_expression "iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info")" identifier = (call_expression "bfd_get_section_by_name(DAT_00089944,".debug_info")" identifier (argument_list "(DAT_00089944,".debug_info")" ( identifier , (string_literal "".debug_info"" " string_content ") )))) ;) (expression_statement "bVar33 = true;" (assignment_expression "bVar33 = true" identifier = true) ;) (if_statement "if (iVar6 != 0) {\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }" { (expression_statement "iVar6 = FUN_00036d50(iVar6);" (assignment_expression "iVar6 = FUN_00036d50(iVar6)" identifier = (call_expression "FUN_00036d50(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "bVar33 = iVar6 == 0;" (assignment_expression "bVar33 = iVar6 == 0" identifier = (binary_expression "iVar6 == 0" identifier == number_literal)) ;) })) (expression_statement "iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");" (assignment_expression "iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line")" identifier = (call_expression "bfd_get_section_by_name(DAT_00089944,".debug_line")" identifier (argument_list "(DAT_00089944,".debug_line")" ( identifier , (string_literal "".debug_line"" " string_content ") )))) ;) (if_statement "if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002be00("duplicate .debug_line sections");\n  }" if (parenthesized_expression "((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0))" ( (binary_expression "(iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar6 = FUN_00036d50(iVar6), iVar6 != 0)" ( (comma_expression "iVar6 = FUN_00036d50(iVar6), iVar6 != 0" (assignment_expression "iVar6 = FUN_00036d50(iVar6)" identifier = (call_expression "FUN_00036d50(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002be00("duplicate .debug_line sections");\n  }" { (if_statement "if (DAT_00088978 == (int *)0x0) {\n      return;\n    }" if (parenthesized_expression "(DAT_00088978 == (int *)0x0)" ( (binary_expression "DAT_00088978 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0002be00("duplicate .debug_line sections");" (call_expression "FUN_0002be00("duplicate .debug_line sections")" identifier (argument_list "("duplicate .debug_line sections")" ( (string_literal ""duplicate .debug_line sections"" " string_content ") ))) ;) })) (if_statement "if ((DAT_00088978 == (int *)0x0) && (bVar33)) {\n    return;\n  }" if (parenthesized_expression "((DAT_00088978 == (int *)0x0) && (bVar33))" ( (binary_expression "(DAT_00088978 == (int *)0x0) && (bVar33)" (parenthesized_expression "(DAT_00088978 == (int *)0x0)" ( (binary_expression "DAT_00088978 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar33)" ( identifier ))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "DAT_00088950 = FUN_00054100();" (assignment_expression "DAT_00088950 = FUN_00054100()" identifier = (call_expression "FUN_00054100()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = FUN_00036b20(".debug_line",0);" (assignment_expression "uVar7 = FUN_00036b20(".debug_line",0)" identifier = (call_expression "FUN_00036b20(".debug_line",0)" identifier (argument_list "(".debug_line",0)" ( (string_literal "".debug_line"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(DAT_00089944,uVar7,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,uVar7,0x2008)" identifier (argument_list "(DAT_00089944,uVar7,0x2008)" ( identifier , identifier , number_literal ))) ;) (for_statement "for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }" for ( (assignment_expression "piVar29 = DAT_00088978" identifier = identifier) ; (binary_expression "piVar29 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar29 = (int *)*piVar29" identifier = (cast_expression "(int *)*piVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ) (compound_statement "{\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }" { (expression_statement "puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];" (assignment_expression "puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3]" identifier = (cast_expression "(undefined4 *)((undefined4 *)piVar29[2])[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((undefined4 *)piVar29[2])[3]" (parenthesized_expression "((undefined4 *)piVar29[2])" ( (cast_expression "(undefined4 *)piVar29[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[2]" identifier [ number_literal ])) )) [ number_literal ]))) ;) (for_statement "for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }" for ( (assignment_expression "puVar31 = *(undefined4 **)piVar29[2]" identifier = (pointer_expression "*(undefined4 **)piVar29[2]" * (cast_expression "(undefined4 **)piVar29[2]" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar29[2]" identifier [ number_literal ])))) ; (binary_expression "puVar31 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar31 = (undefined4 *)*puVar31" identifier = (cast_expression "(undefined4 *)*puVar31" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar31" * identifier))) ) (compound_statement "{\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }" { (expression_statement "*puVar26 = puVar31[2];" (assignment_expression "*puVar26 = puVar31[2]" (pointer_expression "*puVar26" * identifier) = (subscript_expression "puVar31[2]" identifier [ number_literal ])) ;) (expression_statement "puVar26 = (undefined4 *)puVar31[3];" (assignment_expression "puVar26 = (undefined4 *)puVar31[3]" identifier = (cast_expression "(undefined4 *)puVar31[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar31[3]" identifier [ number_literal ]))) ;) })) })) (expression_statement "uVar8 = FUN_0001a5e0();" (assignment_expression "uVar8 = FUN_0001a5e0()" identifier = (call_expression "FUN_0001a5e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = local_b0;" (assignment_expression "iVar6 = local_b0" identifier = identifier) ;) (expression_statement "uVar9 = FUN_00024b20(2);" (assignment_expression "uVar9 = FUN_00024b20(2)" identifier = (call_expression "FUN_00024b20(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_000416b0(uVar9,2,0,2);" (call_expression "FUN_000416b0(uVar9,2,0,2)" identifier (argument_list "(uVar9,2,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "iVar10 = FUN_00038f20();" (assignment_expression "iVar10 = FUN_00038f20()" identifier = (call_expression "FUN_00038f20()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar11 = FUN_00038f20();" (assignment_expression "iVar11 = FUN_00038f20()" identifier = (call_expression "FUN_00038f20()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_a0[0] = 0x14;" (assignment_expression "local_a0[0] = 0x14" (subscript_expression "local_a0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" identifier = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (expression_statement "local_b0 = iVar11;" (assignment_expression "local_b0 = iVar11" identifier = identifier) ;) (expression_statement "local_ac = iVar10;" (assignment_expression "local_ac = iVar10" identifier = identifier) ;) (expression_statement "FUN_00031660(&local_b0,uVar8);" (call_expression "FUN_00031660(&local_b0,uVar8)" identifier (argument_list "(&local_b0,uVar8)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) (expression_statement "FUN_0003b7e0(iVar10);" (call_expression "FUN_0003b7e0(iVar10)" identifier (argument_list "(iVar10)" ( identifier ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0xfffffffb);" (call_expression "FUN_00024e20(0xfffffffb)" identifier (argument_list "(0xfffffffb)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0xe);" (call_expression "FUN_00024e20(0xe)" identifier (argument_list "(0xe)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0xd);" (call_expression "FUN_00024e20(0xd)" identifier (argument_list "(0xd)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (if_statement "if (1 < DAT_00088960) {\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }" if (parenthesized_expression "(1 < DAT_00088960)" ( (binary_expression "1 < DAT_00088960" number_literal < identifier) )) (compound_statement "{\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }" { (do_statement "do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);" do (compound_statement "{\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    }" { (expression_statement "iVar10 = uVar27 * 4;" (assignment_expression "iVar10 = uVar27 * 4" identifier = (binary_expression "uVar27 * 4" identifier * number_literal)) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));" (assignment_expression "pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10))" identifier = (cast_expression "(char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10))" identifier (argument_list "(*(undefined4 *)(DAT_00088964 + iVar10))" ( (pointer_expression "*(undefined4 *)(DAT_00088964 + iVar10)" * (cast_expression "(undefined4 *)(DAT_00088964 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088964 + iVar10)" ( (binary_expression "DAT_00088964 + iVar10" identifier + identifier) )))) ))))) ;) (expression_statement "sVar13 = strlen(pcVar12);" (assignment_expression "sVar13 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "memcpy(pvVar14,pcVar12,sVar13 + 1);" (call_expression "memcpy(pvVar14,pcVar12,sVar13 + 1)" identifier (argument_list "(pvVar14,pcVar12,sVar13 + 1)" ( identifier , identifier , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(uVar27 < DAT_00088960)" ( (binary_expression "uVar27 < DAT_00088960" identifier < identifier) )) ;) })) (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" identifier = number_literal) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (if_statement "if (1 < DAT_0008896c) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }" if (parenthesized_expression "(1 < DAT_0008896c)" ( (binary_expression "1 < DAT_0008896c" number_literal < identifier) )) (compound_statement "{\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }" { (do_statement "do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);" do (compound_statement "{\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    }" { (while_statement "while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }" while (parenthesized_expression "(pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0)" ( (comma_expression "pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0" (assignment_expression "pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8)" identifier = (pointer_expression "*(char **)(DAT_00088970 + uVar27 * 8)" * (cast_expression "(char **)(DAT_00088970 + uVar27 * 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00088970 + uVar27 * 8)" ( (binary_expression "DAT_00088970 + uVar27 * 8" identifier + (binary_expression "uVar27 * 8" identifier * number_literal)) ))))) , (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }" { (expression_statement "sVar13 = strlen(pcVar12);" (assignment_expression "sVar13 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "memcpy(pvVar14,pcVar12,sVar13 + 1);" (call_expression "memcpy(pvVar14,pcVar12,sVar13 + 1)" identifier (argument_list "(pvVar14,pcVar12,sVar13 + 1)" ( identifier , identifier , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_0008896c <= uVar27) goto LAB_0001c228;" if (parenthesized_expression "(DAT_0008896c <= uVar27)" ( (binary_expression "DAT_0008896c <= uVar27" identifier <= identifier) )) (goto_statement "goto LAB_0001c228;" goto statement_identifier ;)) })) (expression_statement "uVar8 = dcgettext(0,"unassigned file number %ld",5);" (assignment_expression "uVar8 = dcgettext(0,"unassigned file number %ld",5)" identifier = (call_expression "dcgettext(0,"unassigned file number %ld",5)" identifier (argument_list "(0,"unassigned file number %ld",5)" ( number_literal , (string_literal ""unassigned file number %ld"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar8,uVar27);" (call_expression "FUN_0002bd60(uVar8,uVar27)" identifier (argument_list "(uVar8,uVar27)" ( identifier , identifier ))) ;) (expression_statement "*(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;" (assignment_expression "*(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05" (pointer_expression "*(undefined **)(DAT_00088970 + uVar27 * 8)" * (cast_expression "(undefined **)(DAT_00088970 + uVar27 * 8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00088970 + uVar27 * 8)" ( (binary_expression "DAT_00088970 + uVar27 * 8" identifier + (binary_expression "uVar27 * 8" identifier * number_literal)) )))) = (pointer_expression "&DAT_0005db05" & identifier)) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar27 < DAT_0008896c)" ( (binary_expression "uVar27 < DAT_0008896c" identifier < identifier) )) ;) })) (labeled_statement "LAB_0001c228:\n  FUN_00024e20(0);" statement_identifier : (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "FUN_0003b7e0(iVar11);" (call_expression "FUN_0003b7e0(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;) (expression_statement "puVar4 = PTR__bfd_std_section_0007ffb0;" (assignment_expression "puVar4 = PTR__bfd_std_section_0007ffb0" identifier = identifier) ;) (for_statement "for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }" for ( (assignment_expression "piVar29 = DAT_00088978" identifier = identifier) ; (binary_expression "piVar29 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar29 = (int *)*piVar29" identifier = (cast_expression "(int *)*piVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ) (compound_statement "{\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }" { (expression_statement "puVar26 = (undefined4 *)piVar29[1];" (assignment_expression "puVar26 = (undefined4 *)piVar29[1]" identifier = (cast_expression "(undefined4 *)piVar29[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[1]" identifier [ number_literal ]))) ;) (if_statement "if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }" if (parenthesized_expression "((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720))" ( (binary_expression "(((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)" (parenthesized_expression "(((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec))" ( (binary_expression "((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)" (parenthesized_expression "((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))" ( (binary_expression "(puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180))" (parenthesized_expression "(puVar26 == (undefined4 *)(puVar4 + 0xc0))" ( (binary_expression "puVar26 == (undefined4 *)(puVar4 + 0xc0)" identifier == (cast_expression "(undefined4 *)(puVar4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0xc0)" ( (binary_expression "puVar4 + 0xc0" identifier + number_literal) )))) )) || (parenthesized_expression "(puVar26 == (undefined4 *)(puVar4 + 0x180))" ( (binary_expression "puVar26 == (undefined4 *)(puVar4 + 0x180)" identifier == (cast_expression "(undefined4 *)(puVar4 + 0x180)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x180)" ( (binary_expression "puVar4 + 0x180" identifier + number_literal) )))) ))) )) || (parenthesized_expression "(puVar26 == DAT_000897ec)" ( (binary_expression "puVar26 == DAT_000897ec" identifier == identifier) ))) )) || (parenthesized_expression "(puVar26 == DAT_00089720)" ( (binary_expression "puVar26 == DAT_00089720" identifier == identifier) ))) )) (compound_statement "{\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }" { (expression_statement "FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);" (call_expression "FUN_0002bc80("dwarf line number information for %s ignored",*puVar26)" identifier (argument_list "("dwarf line number information for %s ignored",*puVar26)" ( (string_literal ""dwarf line number information for %s ignored"" " string_content ") , (pointer_expression "*puVar26" * identifier) ))) ;) }) (else_clause "else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }" else (compound_statement "{\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }" { (expression_statement "local_c4 = *(int **)(piVar29[2] + 8);" (assignment_expression "local_c4 = *(int **)(piVar29[2] + 8)" identifier = (pointer_expression "*(int **)(piVar29[2] + 8)" * (cast_expression "(int **)(piVar29[2] + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[2] + 8)" ( (binary_expression "piVar29[2] + 8" (subscript_expression "piVar29[2]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "bVar32 = false;" (assignment_expression "bVar32 = false" identifier = false) ;) (expression_statement "bVar34 = DAT_000897f0 == 0;" (assignment_expression "bVar34 = DAT_000897f0 == 0" identifier = (binary_expression "DAT_000897f0 == 0" identifier == number_literal)) ;) (if_statement "if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (compound_statement "{\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }" { (expression_statement "iVar10 = 6;" (assignment_expression "iVar10 = 6" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)*puVar26;" (assignment_expression "pbVar24 = (byte *)*puVar26" identifier = (cast_expression "(byte *)*puVar26" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ;) (expression_statement "pbVar28 = (byte *)".text";" (assignment_expression "pbVar28 = (byte *)".text"" identifier = (cast_expression "(byte *)".text"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".text"" " string_content "))) ;) (do_statement "do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);" do (compound_statement "{\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar32 = *pbVar24 < *pbVar28;" (assignment_expression "bVar32 = *pbVar24 < *pbVar28" identifier = (binary_expression "*pbVar24 < *pbVar28" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar28" * identifier))) ;) (expression_statement "bVar34 = *pbVar24 == *pbVar28;" (assignment_expression "bVar34 = *pbVar24 == *pbVar28" identifier = (binary_expression "*pbVar24 == *pbVar28" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar28" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar28 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar28 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (expression_statement "pcVar12 = ".debug_line";" (assignment_expression "pcVar12 = ".debug_line"" identifier = (string_literal "".debug_line"" " string_content ")) ;) (if_statement "if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }" if (parenthesized_expression "((!bVar32 && !bVar34) != bVar32)" ( (binary_expression "(!bVar32 && !bVar34) != bVar32" (parenthesized_expression "(!bVar32 && !bVar34)" ( (binary_expression "!bVar32 && !bVar34" (unary_expression "!bVar32" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) != identifier) )) (compound_statement "{\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }" { (expression_statement "pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);" (assignment_expression "pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0)" identifier = (cast_expression "(char *)concat(".debug_line",(byte *)*puVar26,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(".debug_line",(byte *)*puVar26,0)" identifier (argument_list "(".debug_line",(byte *)*puVar26,0)" ( (string_literal "".debug_line"" " string_content ") , (cast_expression "(byte *)*puVar26" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier)) , number_literal ))))) ;) })) (expression_statement "uVar8 = FUN_00036a60(pcVar12,0);" (assignment_expression "uVar8 = FUN_00036a60(pcVar12,0)" identifier = (call_expression "FUN_00036a60(pcVar12,0)" identifier (argument_list "(pcVar12,0)" ( identifier , number_literal )))) ;) (expression_statement "FUN_00036b80(uVar8,0);" (call_expression "FUN_00036b80(uVar8,0)" identifier (argument_list "(uVar8,0)" ( identifier , number_literal ))) ;) })) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (expression_statement "local_100 = 1;" (assignment_expression "local_100 = 1" identifier = number_literal) ;) (expression_statement "local_e8 = 1;" (assignment_expression "local_e8 = 1" identifier = number_literal) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "lVar3 = 0;" (assignment_expression "lVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);" do (compound_statement "{\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      }" { (expression_statement "local_108 = (int)((ulonglong)lVar3 >> 0x20);" (assignment_expression "local_108 = (int)((ulonglong)lVar3 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar3 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar3 >> 0x20)" ( (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_10c = (uint)lVar3;" (assignment_expression "local_10c = (uint)lVar3" identifier = (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar2 = local_c4[2];" (assignment_expression "iVar2 = local_c4[2]" identifier = (subscript_expression "local_c4[2]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }" if (parenthesized_expression "(iVar2 != local_e8)" ( (binary_expression "iVar2 != local_e8" identifier != identifier) )) (compound_statement "{\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }" { (expression_statement "FUN_00024e20(4);" (call_expression "FUN_00024e20(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar30 = local_c4[4];" (assignment_expression "iVar30 = local_c4[4]" identifier = (subscript_expression "local_c4[4]" identifier [ number_literal ])) ;) (if_statement "if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }" if (parenthesized_expression "(iVar30 != iVar10)" ( (binary_expression "iVar30 != iVar10" identifier != identifier) )) (compound_statement "{\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }" { (expression_statement "FUN_00024e20(5);" (call_expression "FUN_00024e20(5)" identifier (argument_list "(5)" ( number_literal ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }" if (parenthesized_expression "(local_c4[7] != 0)" ( (binary_expression "local_c4[7] != 0" (subscript_expression "local_c4[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }" { (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar10 = FUN_00031e30(local_c4[7],0,0);" (assignment_expression "iVar10 = FUN_00031e30(local_c4[7],0,0)" identifier = (call_expression "FUN_00031e30(local_c4[7],0,0)" identifier (argument_list "(local_c4[7],0,0)" ( (subscript_expression "local_c4[7]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (expression_statement "uVar8 = FUN_00031e30(iVar10 + 1,0,1);" (assignment_expression "uVar8 = FUN_00031e30(iVar10 + 1,0,1)" identifier = (call_expression "FUN_00031e30(iVar10 + 1,0,1)" identifier (argument_list "(iVar10 + 1,0,1)" ( (binary_expression "iVar10 + 1" identifier + number_literal) , number_literal , number_literal )))) ;) (expression_statement "uVar8 = FUN_00024b20(uVar8);" (assignment_expression "uVar8 = FUN_00024b20(uVar8)" identifier = (call_expression "FUN_00024b20(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "FUN_00031e70(uVar8,iVar10 + 1,0,1);" (call_expression "FUN_00031e70(uVar8,iVar10 + 1,0,1)" identifier (argument_list "(uVar8,iVar10 + 1,0,1)" ( identifier , (binary_expression "iVar10 + 1" identifier + number_literal) , number_literal , number_literal ))) ;) (expression_statement "FUN_00024e20(4);" (call_expression "FUN_00024e20(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar21 = local_c4[5];" (assignment_expression "iVar21 = local_c4[5]" identifier = (subscript_expression "local_c4[5]" identifier [ number_literal ])) ;) (if_statement "if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }" if (parenthesized_expression "(iVar21 != iVar11)" ( (binary_expression "iVar21 != iVar11" identifier != identifier) )) (compound_statement "{\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }" { (expression_statement "FUN_00024e20(0xc);" (call_expression "FUN_00024e20(0xc)" identifier (argument_list "(0xc)" ( number_literal ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar27 = local_c4[6];" (assignment_expression "uVar27 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = uVar27;" (assignment_expression "uVar17 = uVar27" identifier = identifier) ;) (if_statement "if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }" if (parenthesized_expression "(((local_100 ^ uVar27) & 1) != 0)" ( (binary_expression "((local_100 ^ uVar27) & 1) != 0" (parenthesized_expression "((local_100 ^ uVar27) & 1)" ( (binary_expression "(local_100 ^ uVar27) & 1" (parenthesized_expression "(local_100 ^ uVar27)" ( (binary_expression "local_100 ^ uVar27" identifier ^ identifier) )) & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }" { (expression_statement "FUN_00024e20(6);" (call_expression "FUN_00024e20(6)" identifier (argument_list "(6)" ( number_literal ))) ;) (expression_statement "uVar17 = local_c4[6];" (assignment_expression "uVar17 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) (expression_statement "local_100 = uVar27;" (assignment_expression "local_100 = uVar27" identifier = identifier) ;) })) (if_statement "if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }" if (parenthesized_expression "((uVar17 & 2) != 0)" ( (binary_expression "(uVar17 & 2) != 0" (parenthesized_expression "(uVar17 & 2)" ( (binary_expression "uVar17 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }" { (expression_statement "FUN_00024e20(7);" (call_expression "FUN_00024e20(7)" identifier (argument_list "(7)" ( number_literal ))) ;) (expression_statement "uVar17 = local_c4[6];" (assignment_expression "uVar17 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) })) (if_statement "if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }" if (parenthesized_expression "((uVar17 & 4) != 0)" ( (binary_expression "(uVar17 & 4) != 0" (parenthesized_expression "(uVar17 & 4)" ( (binary_expression "uVar17 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }" { (expression_statement "FUN_00024e20(10);" (call_expression "FUN_00024e20(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "uVar17 = local_c4[6];" (assignment_expression "uVar17 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) })) (if_statement "if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }" if (parenthesized_expression "((uVar17 & 8) != 0)" ( (binary_expression "(uVar17 & 8) != 0" (parenthesized_expression "(uVar17 & 8)" ( (binary_expression "uVar17 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024e20(0xb);\n        }" { (expression_statement "FUN_00024e20(0xb);" (call_expression "FUN_00024e20(0xb)" identifier (argument_list "(0xb)" ( number_literal ))) ;) })) (expression_statement "uVar27 = local_c4[1];" (assignment_expression "uVar27 = local_c4[1]" identifier = (subscript_expression "local_c4[1]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = FUN_0003b830(uVar27);" (assignment_expression "iVar15 = FUN_0003b830(uVar27)" identifier = (call_expression "FUN_0003b830(uVar27)" identifier (argument_list "(uVar27)" ( identifier )))) ;) (expression_statement "lVar36 = FUN_0003a3c0(uVar27);" (assignment_expression "lVar36 = FUN_0003a3c0(uVar27)" identifier = (call_expression "FUN_0003a3c0(uVar27)" identifier (argument_list "(uVar27)" ( identifier )))) ;) (if_statement "if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }" if (parenthesized_expression "(local_d0 == 0)" ( (binary_expression "local_d0 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }" { (labeled_statement "LAB_0001d140:\n          FUN_00024e20(0);" statement_identifier : (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024e20(2);" (call_expression "FUN_00024e20(2)" identifier (argument_list "(2)" ( number_literal ))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[0] = uVar27;" (assignment_expression "local_9c[0] = uVar27" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00031660(local_9c,DAT_00088950);" (call_expression "FUN_00031660(local_9c,DAT_00088950)" identifier (argument_list "(local_9c,DAT_00088950)" ( identifier , identifier ))) ;) (expression_statement "FUN_0001ade0();" (call_expression "FUN_0001ade0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }" else (compound_statement "{\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }" { (if_statement "if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }" if (parenthesized_expression "((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0))" ( (binary_expression "(local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)" (parenthesized_expression "(local_c4[8] == DAT_00088958)" ( (binary_expression "local_c4[8] == DAT_00088958" (subscript_expression "local_c4[8]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "(DAT_00088958 != 0)" ( (binary_expression "DAT_00088958 != 0" identifier != number_literal) ))) )) (compound_statement "{\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }" { (if_statement "if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;" if (parenthesized_expression "(iVar15 == local_d0)" ( (binary_expression "iVar15 == local_d0" identifier == identifier) )) (compound_statement "{\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }" { (if_statement "if (lVar36 != lVar3) goto LAB_0001c468;" if (parenthesized_expression "(lVar36 != lVar3)" ( (binary_expression "lVar36 != lVar3" identifier != identifier) )) (goto_statement "goto LAB_0001c468;" goto statement_identifier ;)) }) (else_clause "else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;" else (if_statement "if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;" if (parenthesized_expression "((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0))" ( (binary_expression "(lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)" (parenthesized_expression "(lVar36 != 0)" ( (binary_expression "lVar36 != 0" identifier != number_literal) )) || (parenthesized_expression "(uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)" ( (comma_expression "uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (assignment_expression "uVar37 = FUN_0001a6c0()" identifier = (call_expression "FUN_0001a6c0()" identifier (argument_list "()" ( )))) , (comma_expression "iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (assignment_expression "iVar11 = (int)((ulonglong)uVar37 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar37 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar37 >> 0x20)" ( (binary_expression "(ulonglong)uVar37 >> 0x20" (cast_expression "(ulonglong)uVar37" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) , (comma_expression "uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (assignment_expression "uVar17 = (uint)(local_10c < (uint)uVar37)" identifier = (call_expression "(uint)(local_10c < (uint)uVar37)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_10c < (uint)uVar37)" ( (binary_expression "local_10c < (uint)uVar37" identifier < (cast_expression "(uint)uVar37" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (comma_expression "iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (assignment_expression "iVar10 = local_108 - iVar11" identifier = (binary_expression "local_108 - iVar11" identifier - identifier)) , (binary_expression "(SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (parenthesized_expression "(SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17))" ( (binary_expression "SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)" (call_expression "SBORROW4(local_108,iVar11)" identifier (argument_list "(local_108,iVar11)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar10,uVar17)" identifier (argument_list "(iVar10,uVar17)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar10 - uVar17) < 0" (cast_expression "(int)(iVar10 - uVar17)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar10 - uVar17)" ( (binary_expression "iVar10 - uVar17" identifier - identifier) ))) < number_literal)))))) ))) )) (goto_statement "goto LAB_0001c478;" goto statement_identifier ;)))) (goto_statement "goto LAB_0001d140;" goto statement_identifier ;) })) (if_statement "if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }" if (parenthesized_expression "(iVar15 == local_d0)" ( (binary_expression "iVar15 == local_d0" identifier == identifier) )) (compound_statement "{\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }" { (labeled_statement "LAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;" statement_identifier : (if_statement "if (DAT_00089740 != 0) goto LAB_0001c478;" if (parenthesized_expression "(DAT_00089740 != 0)" ( (binary_expression "DAT_00089740 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001c478;" goto statement_identifier ;))) (expression_statement "FUN_0001ade0();" (call_expression "FUN_0001ade0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }" else (compound_statement "{\nLAB_0001c478:\n            FUN_0001ae30();\n          }" { (labeled_statement "LAB_0001c478:\n            FUN_0001ae30();" statement_identifier : (expression_statement "FUN_0001ae30();" (call_expression "FUN_0001ae30()" identifier (argument_list "()" ( ))) ;)) }))) }))) (expression_statement "piVar1 = (int *)*local_c4;" (assignment_expression "piVar1 = (int *)*local_c4" identifier = (cast_expression "(int *)*local_c4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_c4" * identifier))) ;) (expression_statement "free(local_c4);" (call_expression "free(local_c4)" identifier (argument_list "(local_c4)" ( identifier ))) ;) (expression_statement "iVar10 = iVar30;" (assignment_expression "iVar10 = iVar30" identifier = identifier) ;) (expression_statement "iVar11 = iVar21;" (assignment_expression "iVar11 = iVar21" identifier = identifier) ;) (expression_statement "local_e8 = iVar2;" (assignment_expression "local_e8 = iVar2" identifier = identifier) ;) (expression_statement "local_d0 = iVar15;" (assignment_expression "local_d0 = iVar15" identifier = identifier) ;) (expression_statement "local_c4 = piVar1;" (assignment_expression "local_c4 = piVar1" identifier = identifier) ;) (expression_statement "lVar3 = lVar36;" (assignment_expression "lVar3 = lVar36" identifier = identifier) ;) }) while (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "iVar10 = *(int *)puVar26[0x20];" (assignment_expression "iVar10 = *(int *)puVar26[0x20]" identifier = (pointer_expression "*(int *)puVar26[0x20]" * (cast_expression "(int *)puVar26[0x20]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0x20]" identifier [ number_literal ])))) ;) (do_statement "do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);" do (compound_statement "{\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      }" { (expression_statement "iVar11 = iVar10;" (assignment_expression "iVar11 = iVar10" identifier = identifier) ;) (expression_statement "iVar10 = *(int *)(iVar11 + 8);" (assignment_expression "iVar10 = *(int *)(iVar11 + 8)" identifier = (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) ;) (expression_statement "iVar10 = *(int *)(iVar11 + 4);" (assignment_expression "iVar10 = *(int *)(iVar11 + 4)" identifier = (pointer_expression "*(int *)(iVar11 + 4)" * (cast_expression "(int *)(iVar11 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar37 = FUN_0001a6c0();" (assignment_expression "uVar37 = FUN_0001a6c0()" identifier = (call_expression "FUN_0001a6c0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }" if (parenthesized_expression "((iVar15 == iVar10) && (DAT_00089740 == 0))" ( (binary_expression "(iVar15 == iVar10) && (DAT_00089740 == 0)" (parenthesized_expression "(iVar15 == iVar10)" ( (binary_expression "iVar15 == iVar10" identifier == identifier) )) && (parenthesized_expression "(DAT_00089740 == 0)" ( (binary_expression "DAT_00089740 == 0" identifier == number_literal) ))) )) (compound_statement "{\n        FUN_0001ade0();\n      }" { (expression_statement "FUN_0001ade0();" (call_expression "FUN_0001ade0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }" else (compound_statement "{\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }" { (expression_statement "FUN_00038f40(puVar26,uVar37,iVar10);" (call_expression "FUN_00038f40(puVar26,uVar37,iVar10)" identifier (argument_list "(puVar26,uVar37,iVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0001ae30();" (call_expression "FUN_0001ae30()" identifier (argument_list "()" ( ))) ;) }))) }))) })) (if_statement "if (DAT_000897f0 != 0) {\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }" if (parenthesized_expression "(DAT_000897f0 != 0)" ( (binary_expression "DAT_000897f0 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }" { (expression_statement "uVar8 = FUN_00036a60(".debug_line_end",0);" (assignment_expression "uVar8 = FUN_00036a60(".debug_line_end",0)" identifier = (call_expression "FUN_00036a60(".debug_line_end",0)" identifier (argument_list "(".debug_line_end",0)" ( (string_literal "".debug_line_end"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00036b80(uVar8,0);" (call_expression "FUN_00036b80(uVar8,0)" identifier (argument_list "(uVar8,0)" ( identifier , number_literal ))) ;) })) (expression_statement "FUN_0003b7e0(iVar6);" (call_expression "FUN_0003b7e0(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (!bVar33) {\n    return;\n  }" if (parenthesized_expression "(!bVar33)" ( (unary_expression "!bVar33" ! identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_00088978 == (int *)0x0) {\n                    \n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }" if (parenthesized_expression "(DAT_00088978 == (int *)0x0)" ( (binary_expression "DAT_00088978 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }" { (expression_statement "FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);" (call_expression "FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX)" identifier (argument_list "("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX)" ( (string_literal ""../../gas/dwarf2dbg.c"" " string_content ") , number_literal , (string_literal ""dwarf2_finish"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar8 = FUN_00036b20(".debug_info",0);" (assignment_expression "uVar8 = FUN_00036b20(".debug_info",0)" identifier = (call_expression "FUN_00036b20(".debug_info",0)" identifier (argument_list "(".debug_info",0)" ( (string_literal "".debug_info"" " string_content ") , number_literal )))) ;) (expression_statement "uVar9 = FUN_00036b20(".debug_abbrev",0);" (assignment_expression "uVar9 = FUN_00036b20(".debug_abbrev",0)" identifier = (call_expression "FUN_00036b20(".debug_abbrev",0)" identifier (argument_list "(".debug_abbrev",0)" ( (string_literal "".debug_abbrev"" " string_content ") , number_literal )))) ;) (expression_statement "uVar16 = FUN_00036b20(".debug_aranges",0);" (assignment_expression "uVar16 = FUN_00036b20(".debug_aranges",0)" identifier = (call_expression "FUN_00036b20(".debug_aranges",0)" identifier (argument_list "(".debug_aranges",0)" ( (string_literal "".debug_aranges"" " string_content ") , number_literal )))) ;) (expression_statement "iVar10 = FUN_00036b20(".debug_str",0);" (assignment_expression "iVar10 = FUN_00036b20(".debug_str",0)" identifier = (call_expression "FUN_00036b20(".debug_str",0)" identifier (argument_list "(".debug_str",0)" ( (string_literal "".debug_str"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(DAT_00089944,uVar8,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,uVar8,0x2008)" identifier (argument_list "(DAT_00089944,uVar8,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(DAT_00089944,uVar9,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,uVar9,0x2008)" identifier (argument_list "(DAT_00089944,uVar9,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(DAT_00089944,uVar16,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,uVar16,0x2008)" identifier (argument_list "(DAT_00089944,uVar16,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);" (call_expression "bfd_set_section_flags(DAT_00089944,iVar10,0x1802008)" identifier (argument_list "(DAT_00089944,iVar10,0x1802008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar6 = DAT_00088950;" (assignment_expression "iVar6 = DAT_00088950" identifier = identifier) ;) (expression_statement "*(undefined4 *)(iVar10 + 0x90) = 1;" (assignment_expression "*(undefined4 *)(iVar10 + 0x90) = 1" (pointer_expression "*(undefined4 *)(iVar10 + 0x90)" * (cast_expression "(undefined4 *)(iVar10 + 0x90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x90)" ( (binary_expression "iVar10 + 0x90" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar27 = iVar6 * 2;" (assignment_expression "uVar27 = iVar6 * 2" identifier = (binary_expression "iVar6 * 2" identifier * number_literal)) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }" { (for_statement "for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }" for ( ; (binary_expression "(uVar27 >> iVar6 & 1) == 0" (parenthesized_expression "(uVar27 >> iVar6 & 1)" ( (binary_expression "uVar27 >> iVar6 & 1" (binary_expression "uVar27 >> iVar6" identifier >> identifier) & number_literal) )) == number_literal) ; (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ) (compound_statement "{\n    }" { })) })) (if_statement "if (uVar27 == 0) {\n    iVar6 = -1;\n  }" if (parenthesized_expression "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar6 = -1;\n  }" { (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) })) (expression_statement "FUN_0003f680(uVar16,iVar6);" (call_expression "FUN_0003f680(uVar16,iVar6)" identifier (argument_list "(uVar16,iVar6)" ( identifier , identifier ))) ;) (expression_statement "local_ec = *DAT_00088978;" (assignment_expression "local_ec = *DAT_00088978" identifier = (pointer_expression "*DAT_00088978" * identifier)) ;) (if_statement "if (local_ec == 0) goto LAB_0001c984;" if (parenthesized_expression "(local_ec == 0)" ( (binary_expression "local_ec == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c984;" goto statement_identifier ;)) (expression_statement "local_ec = FUN_00036b20(".debug_ranges",0);" (assignment_expression "local_ec = FUN_00036b20(".debug_ranges",0)" identifier = (call_expression "FUN_00036b20(".debug_ranges",0)" identifier (argument_list "(".debug_ranges",0)" ( (string_literal "".debug_ranges"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(DAT_00089944,local_ec,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,local_ec,0x2008)" identifier (argument_list "(DAT_00089944,local_ec,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar27 = DAT_00088950 * 2;" (assignment_expression "uVar27 = DAT_00088950 * 2" identifier = (binary_expression "DAT_00088950 * 2" identifier * number_literal)) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }" { (for_statement "for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }" for ( ; (binary_expression "(uVar27 >> iVar6 & 1) == 0" (parenthesized_expression "(uVar27 >> iVar6 & 1)" ( (binary_expression "uVar27 >> iVar6 & 1" (binary_expression "uVar27 >> iVar6" identifier >> identifier) & number_literal) )) == number_literal) ; (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ) (compound_statement "{\n    }" { })) })) (if_statement "if (uVar27 == 0) {\n    iVar6 = -1;\n  }" if (parenthesized_expression "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar6 = -1;\n  }" { (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) })) (expression_statement "FUN_0003f680(local_ec,iVar6);" (call_expression "FUN_0003f680(local_ec,iVar6)" identifier (argument_list "(local_ec,iVar6)" ( identifier , identifier ))) ;) (expression_statement "iVar6 = DAT_00088950;" (assignment_expression "iVar6 = DAT_00088950" identifier = identifier) ;) (expression_statement "FUN_00036b80(local_ec,0);" (call_expression "FUN_00036b80(local_ec,0)" identifier (argument_list "(local_ec,0)" ( identifier , number_literal ))) ;) (if_statement "if (iVar6 == 0) {\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }\n  else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }" { (if_statement "if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;" if (parenthesized_expression "(DAT_00088978 == (int *)0x0)" ( (binary_expression "DAT_00088978 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001c984;" goto statement_identifier ;)) (labeled_statement "LAB_0001c840:\n    piVar29 = DAT_00088978;" statement_identifier : (expression_statement "piVar29 = DAT_00088978;" (assignment_expression "piVar29 = DAT_00088978" identifier = identifier) ;)) (do_statement "do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);" do (compound_statement "{\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    }" { (expression_statement "uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));" (assignment_expression "uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" identifier = (call_expression "FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" identifier (argument_list "(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" ( (subscript_expression "piVar29[1]" identifier [ number_literal ]) , number_literal , number_literal , (pointer_expression "*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80)" * (cast_expression "(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(piVar29[1] + 0x80)" * (pointer_expression "*(undefined4 **)(piVar29[1] + 0x80)" * (cast_expression "(undefined4 **)(piVar29[1] + 0x80)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[1] + 0x80)" ( (binary_expression "piVar29[1] + 0x80" (subscript_expression "piVar29[1]" identifier [ number_literal ]) + number_literal) ))))))) )))) ;) (expression_statement "iVar11 = piVar29[1];" (assignment_expression "iVar11 = piVar29[1]" identifier = (subscript_expression "piVar29[1]" identifier [ number_literal ])) ;) (expression_statement "piVar29[3] = uVar27;" (assignment_expression "piVar29[3] = uVar27" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = **(int **)(iVar11 + 0x80);" (assignment_expression "iVar2 = **(int **)(iVar11 + 0x80)" identifier = (pointer_expression "**(int **)(iVar11 + 0x80)" * (pointer_expression "*(int **)(iVar11 + 0x80)" * (cast_expression "(int **)(iVar11 + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x80)" ( (binary_expression "iVar11 + 0x80" identifier + number_literal) )))))) ;) (do_statement "do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);" do (compound_statement "{\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      }" { (expression_statement "iVar30 = iVar2;" (assignment_expression "iVar30 = iVar2" identifier = identifier) ;) (expression_statement "iVar2 = *(int *)(iVar30 + 8);" (assignment_expression "iVar2 = *(int *)(iVar30 + 8)" identifier = (pointer_expression "*(int *)(iVar30 + 8)" * (cast_expression "(int *)(iVar30 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 8)" ( (binary_expression "iVar30 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar30 + 4);" (assignment_expression "uVar16 = *(undefined4 *)(iVar30 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar30 + 4)" * (cast_expression "(undefined4 *)(iVar30 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 4)" ( (binary_expression "iVar30 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar37 = FUN_0001a6c0();" (assignment_expression "uVar37 = FUN_0001a6c0()" identifier = (call_expression "FUN_0001a6c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);" (assignment_expression "uVar17 = FUN_00038f40(iVar11,uVar37,uVar16)" identifier = (call_expression "FUN_00038f40(iVar11,uVar37,uVar16)" identifier (argument_list "(iVar11,uVar37,uVar16)" ( identifier , identifier , identifier )))) ;) (expression_statement "piVar29[4] = uVar17;" (assignment_expression "piVar29[4] = uVar17" (subscript_expression "piVar29[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[0] = uVar27;" (assignment_expression "local_9c[0] = uVar27" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00031660(local_9c,iVar6);" (call_expression "FUN_00031660(local_9c,iVar6)" identifier (argument_list "(local_9c,iVar6)" ( identifier , identifier ))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[0] = uVar17;" (assignment_expression "local_9c[0] = uVar17" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00031660(local_9c,iVar6);" (call_expression "FUN_00031660(local_9c,iVar6)" identifier (argument_list "(local_9c,iVar6)" ( identifier , identifier ))) ;) (expression_statement "piVar29 = (int *)*piVar29;" (assignment_expression "piVar29 = (int *)*piVar29" identifier = (cast_expression "(int *)*piVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ;) }) while (parenthesized_expression "(piVar29 != (int *)0x0)" ( (binary_expression "piVar29 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (iVar6 == 0) goto LAB_0001c984;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c984;" goto statement_identifier ;)) }) (else_clause "else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }" else (compound_statement "{\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);" do (compound_statement "{\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    }" { (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024e20(0xff);" (call_expression "FUN_00024e20(0xff)" identifier (argument_list "(0xff)" ( number_literal ))) ;) }) while (parenthesized_expression "(iVar6 != iVar11)" ( (binary_expression "iVar6 != iVar11" identifier != identifier) )) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);" do (compound_statement "{\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    }" { (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(iVar6 != iVar11)" ( (binary_expression "iVar6 != iVar11" identifier != identifier) )) ;) (if_statement "if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;" if (parenthesized_expression "(DAT_00088978 != (int *)0x0)" ( (binary_expression "DAT_00088978 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001c840;" goto statement_identifier ;)) }))) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);" do (compound_statement "{\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  }" { (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(iVar6 != iVar11)" ( (binary_expression "iVar6 != iVar11" identifier != identifier) )) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);" do (compound_statement "{\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  }" { (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(iVar6 != iVar11)" ( (binary_expression "iVar6 != iVar11" identifier != identifier) )) ;) (labeled_statement "LAB_0001c984:\n  iVar11 = DAT_00088950;" statement_identifier : (expression_statement "iVar11 = DAT_00088950;" (assignment_expression "iVar11 = DAT_00088950" identifier = identifier) ;)) (expression_statement "local_cc = local_9c;" (assignment_expression "local_cc = local_9c" identifier = identifier) ;) (expression_statement "uVar17 = FUN_0001a5e0();" (assignment_expression "uVar17 = FUN_0001a5e0()" identifier = (call_expression "FUN_0001a5e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "auVar5 = local_a4;" (assignment_expression "auVar5 = local_a4" identifier = identifier) ;) (expression_statement "uVar27 = local_a8;" (assignment_expression "uVar27 = local_a8" identifier = identifier) ;) (expression_statement "iVar2 = local_b0;" (assignment_expression "iVar2 = local_b0" identifier = identifier) ;) (expression_statement "uVar16 = FUN_00024b20(2);" (assignment_expression "uVar16 = FUN_00024b20(2)" identifier = (call_expression "FUN_00024b20(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_000416b0(uVar16,2,0,2);" (call_expression "FUN_000416b0(uVar16,2,0,2)" identifier (argument_list "(uVar16,2,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_9c[0] = FUN_00036bd0(uVar8);" (assignment_expression "local_9c[0] = FUN_00036bd0(uVar8)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036bd0(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00031660(local_cc,uVar17);" (call_expression "FUN_00031660(local_cc,uVar17)" identifier (argument_list "(local_cc,uVar17)" ( identifier , identifier ))) ;) (expression_statement "uVar25 = 2 - uVar27;" (assignment_expression "uVar25 = 2 - uVar27" identifier = (binary_expression "2 - uVar27" number_literal - identifier)) ;) (expression_statement "uVar18 = uVar17 + uVar25;" (assignment_expression "uVar18 = uVar17 + uVar25" identifier = (binary_expression "uVar17 + uVar25" identifier + identifier)) ;) (expression_statement "iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)\n  ;" (assignment_expression "iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)" identifier = (binary_expression "((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)" (binary_expression "((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5)" (parenthesized_expression "((int)uVar17 >> 0x1f)" ( (binary_expression "(int)uVar17 >> 0x1f" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + (parenthesized_expression "(-(uint)(2 < uVar27) - (int)auVar5)" ( (binary_expression "-(uint)(2 < uVar27) - (int)auVar5" (unary_expression "-(uint)(2 < uVar27)" - (call_expression "(uint)(2 < uVar27)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(2 < uVar27)" ( (binary_expression "2 < uVar27" number_literal < identifier) )))) - (cast_expression "(int)auVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (cast_expression "(uint)CARRY4(uVar17,uVar25)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar17,uVar25)" identifier (argument_list "(uVar17,uVar25)" ( identifier , identifier )))))) ;) (expression_statement "FUN_00024e20(iVar11);" (call_expression "FUN_00024e20(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "uVar27 = uVar18 + 3;" (assignment_expression "uVar27 = uVar18 + 3" identifier = (binary_expression "uVar18 + 3" identifier + number_literal)) ;) (expression_statement "iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);" (assignment_expression "iVar30 = iVar21 + (uint)(0xfffffffc < uVar18)" identifier = (binary_expression "iVar21 + (uint)(0xfffffffc < uVar18)" identifier + (call_expression "(uint)(0xfffffffc < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffc < uVar18)" ( (binary_expression "0xfffffffc < uVar18" number_literal < identifier) ))))) ;) (expression_statement "iVar6 = iVar11 * 2;" (assignment_expression "iVar6 = iVar11 * 2" identifier = (binary_expression "iVar11 * 2" identifier * number_literal)) ;) (expression_statement "uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);" (assignment_expression "uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0)" identifier = (call_expression "FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0)" identifier (argument_list "(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0)" ( (binary_expression "uVar18 + 2" identifier + number_literal) , (binary_expression "iVar21 + (uint)(0xfffffffd < uVar18)" identifier + (call_expression "(uint)(0xfffffffd < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffd < uVar18)" ( (binary_expression "0xfffffffd < uVar18" number_literal < identifier) )))) , identifier , number_literal )))) ;) (expression_statement "piVar29 = DAT_00088978;" (assignment_expression "piVar29 = DAT_00088978" identifier = identifier) ;) (if_statement "if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }" if (parenthesized_expression "(-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0))" ( (binary_expression "-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)" (unary_expression "-(int)((ulonglong)uVar37 >> 0x20)" - (cast_expression "(int)((ulonglong)uVar37 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar37 >> 0x20)" ( (binary_expression "(ulonglong)uVar37 >> 0x20" (cast_expression "(ulonglong)uVar37" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) < (cast_expression "(int)(uint)((int)uVar37 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)uVar37 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar37 != 0)" ( (binary_expression "(int)uVar37 != 0" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))))) )) (compound_statement "{\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }" { (do_statement "do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));" do (compound_statement "{\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    }" { (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "bVar33 = 0xfffffffe < uVar27;" (assignment_expression "bVar33 = 0xfffffffe < uVar27" identifier = (binary_expression "0xfffffffe < uVar27" number_literal < identifier)) ;) (expression_statement "uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);" (assignment_expression "uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0)" identifier = (call_expression "FUN_00059b60(uVar27,iVar30,iVar6,0)" identifier (argument_list "(uVar27,iVar30,iVar6,0)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "iVar30 = iVar30 + (uint)bVar33;" (assignment_expression "iVar30 = iVar30 + (uint)bVar33" identifier = (binary_expression "iVar30 + (uint)bVar33" identifier + (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "piVar29 = DAT_00088978;" (assignment_expression "piVar29 = DAT_00088978" identifier = identifier) ;) }) while (parenthesized_expression "(-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0))" ( (binary_expression "-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)" (unary_expression "-(int)((ulonglong)uVar37 >> 0x20)" - (cast_expression "(int)((ulonglong)uVar37 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar37 >> 0x20)" ( (binary_expression "(ulonglong)uVar37 >> 0x20" (cast_expression "(ulonglong)uVar37" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) < (cast_expression "(int)(uint)((int)uVar37 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)uVar37 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar37 != 0)" ( (binary_expression "(int)uVar37 != 0" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))))) )) ;) })) (for_statement "for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }" for ( ; (binary_expression "piVar29 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar29 = (int *)*piVar29" identifier = (cast_expression "(int *)*piVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ) (compound_statement "{\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }" { (expression_statement "iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));" (assignment_expression "iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" identifier = (call_expression "FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" identifier (argument_list "(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" ( (subscript_expression "piVar29[1]" identifier [ number_literal ]) , number_literal , number_literal , (pointer_expression "*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80)" * (cast_expression "(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(piVar29[1] + 0x80)" * (pointer_expression "*(undefined4 **)(piVar29[1] + 0x80)" * (cast_expression "(undefined4 **)(piVar29[1] + 0x80)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[1] + 0x80)" ( (binary_expression "piVar29[1] + 0x80" (subscript_expression "piVar29[1]" identifier [ number_literal ]) + number_literal) ))))))) )))) ;) (expression_statement "iVar30 = piVar29[1];" (assignment_expression "iVar30 = piVar29[1]" identifier = (subscript_expression "piVar29[1]" identifier [ number_literal ])) ;) (expression_statement "piVar29[3] = iVar15;" (assignment_expression "piVar29[3] = iVar15" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar21 = **(int **)(iVar30 + 0x80);" (assignment_expression "iVar21 = **(int **)(iVar30 + 0x80)" identifier = (pointer_expression "**(int **)(iVar30 + 0x80)" * (pointer_expression "*(int **)(iVar30 + 0x80)" * (cast_expression "(int **)(iVar30 + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar30 + 0x80)" ( (binary_expression "iVar30 + 0x80" identifier + number_literal) )))))) ;) (do_statement "do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);" do (compound_statement "{\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    }" { (expression_statement "iVar22 = iVar21;" (assignment_expression "iVar22 = iVar21" identifier = identifier) ;) (expression_statement "iVar21 = *(int *)(iVar22 + 8);" (assignment_expression "iVar21 = *(int *)(iVar22 + 8)" identifier = (pointer_expression "*(int *)(iVar22 + 8)" * (cast_expression "(int *)(iVar22 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 8)" ( (binary_expression "iVar22 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) ;) (expression_statement "uVar8 = *(undefined4 *)(iVar22 + 4);" (assignment_expression "uVar8 = *(undefined4 *)(iVar22 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar22 + 4)" * (cast_expression "(undefined4 *)(iVar22 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 4)" ( (binary_expression "iVar22 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar37 = FUN_0001a6c0();" (assignment_expression "uVar37 = FUN_0001a6c0()" identifier = (call_expression "FUN_0001a6c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);" (assignment_expression "iVar30 = FUN_00038f40(iVar30,uVar37,uVar8)" identifier = (call_expression "FUN_00038f40(iVar30,uVar37,uVar8)" identifier (argument_list "(iVar30,uVar37,uVar8)" ( identifier , identifier , identifier )))) ;) (expression_statement "piVar29[4] = iVar30;" (assignment_expression "piVar29[4] = iVar30" (subscript_expression "piVar29[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_a0[0] = 3;" (assignment_expression "local_a0[0] = 3" (subscript_expression "local_a0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (expression_statement "local_b0 = iVar15;" (assignment_expression "local_b0 = iVar15" identifier = identifier) ;) (expression_statement "FUN_00031660(&local_b0,iVar11);" (call_expression "FUN_00031660(&local_b0,iVar11)" identifier (argument_list "(&local_b0,iVar11)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) (expression_statement "local_a0[0] = 0x14;" (assignment_expression "local_a0[0] = 0x14" (subscript_expression "local_a0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (expression_statement "local_b0 = iVar30;" (assignment_expression "local_b0 = iVar30" identifier = identifier) ;) (expression_statement "local_ac = iVar15;" (assignment_expression "local_ac = iVar15" identifier = identifier) ;) (expression_statement "FUN_00031660(&local_b0,iVar11);" (call_expression "FUN_00031660(&local_b0,iVar11)" identifier (argument_list "(&local_b0,iVar11)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) })) (expression_statement "iVar6 = FUN_00024b20(iVar6);" (assignment_expression "iVar6 = FUN_00024b20(iVar6)" identifier = (call_expression "FUN_00024b20(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "FUN_000416b0(iVar6,0,0,iVar11);" (call_expression "FUN_000416b0(iVar6,0,0,iVar11)" identifier (argument_list "(iVar6,0,0,iVar11)" ( identifier , number_literal , number_literal , identifier ))) ;) (expression_statement "FUN_000416b0(iVar6 + iVar11,0,0,iVar11);" (call_expression "FUN_000416b0(iVar6 + iVar11,0,0,iVar11)" identifier (argument_list "(iVar6 + iVar11,0,0,iVar11)" ( (binary_expression "iVar6 + iVar11" identifier + identifier) , number_literal , number_literal , identifier ))) ;) (expression_statement "FUN_0003b7e0(iVar2);" (call_expression "FUN_0003b7e0(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) (expression_statement "FUN_00036b80(uVar9,0);" (call_expression "FUN_00036b80(uVar9,0)" identifier (argument_list "(uVar9,0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*DAT_00088978 == 0) {\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }" if (parenthesized_expression "(*DAT_00088978 == 0)" ( (binary_expression "*DAT_00088978 == 0" (pointer_expression "*DAT_00088978" * identifier) == number_literal) )) (compound_statement "{\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }" { (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }" else (compound_statement "{\n    FUN_0001a680();\n    FUN_0001a680();\n  }" { (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00036b80(iVar10,0);" (call_expression "FUN_00036b80(iVar10,0)" identifier (argument_list "(iVar10,0)" ( identifier , number_literal ))) ;) (expression_statement "uVar27 = FUN_00038f70();" (assignment_expression "uVar27 = FUN_00038f70()" identifier = (call_expression "FUN_00038f70()" identifier (argument_list "()" ( )))) ;) (if_statement "if (DAT_0008896c != 0) {\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }" if (parenthesized_expression "(DAT_0008896c != 0)" ( (binary_expression "DAT_0008896c != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }" { (if_statement "if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }" if (parenthesized_expression "(*(int *)(DAT_00088970 + 0xc) != 0)" ( (binary_expression "*(int *)(DAT_00088970 + 0xc) != 0" (pointer_expression "*(int *)(DAT_00088970 + 0xc)" * (cast_expression "(int *)(DAT_00088970 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088970 + 0xc)" ( (binary_expression "DAT_00088970 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }" { (expression_statement "pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));" (assignment_expression "pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4))" identifier = (cast_expression "(char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4))" identifier (argument_list "(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4))" ( (pointer_expression "*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4)" * (cast_expression "(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4)" ( (binary_expression "DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4" identifier + (binary_expression "*(int *)(DAT_00088970 + 0xc) * 4" (pointer_expression "*(int *)(DAT_00088970 + 0xc)" * (cast_expression "(int *)(DAT_00088970 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088970 + 0xc)" ( (binary_expression "DAT_00088970 + 0xc" identifier + number_literal) )))) * number_literal)) )))) ))))) ;) (expression_statement "sVar13 = strlen(pcVar12);" (assignment_expression "sVar13 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "memcpy(pvVar14,pcVar12,sVar13);" (call_expression "memcpy(pvVar14,pcVar12,sVar13)" identifier (argument_list "(pvVar14,pcVar12,sVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "*(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;" (assignment_expression "*(undefined1 *)((int)pvVar14 + sVar13) = 0x2f" (pointer_expression "*(undefined1 *)((int)pvVar14 + sVar13)" * (cast_expression "(undefined1 *)((int)pvVar14 + sVar13)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar14 + sVar13)" ( (binary_expression "(int)pvVar14 + sVar13" (cast_expression "(int)pvVar14" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) })) (expression_statement "sVar13 = strlen(*(char **)(DAT_00088970 + 8));" (assignment_expression "sVar13 = strlen(*(char **)(DAT_00088970 + 8))" identifier = (call_expression "strlen(*(char **)(DAT_00088970 + 8))" identifier (argument_list "(*(char **)(DAT_00088970 + 8))" ( (pointer_expression "*(char **)(DAT_00088970 + 8)" * (cast_expression "(char **)(DAT_00088970 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00088970 + 8)" ( (binary_expression "DAT_00088970 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);" (call_expression "memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1)" identifier (argument_list "(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1)" ( identifier , (pointer_expression "*(void **)(DAT_00088970 + 8)" * (cast_expression "(void **)(DAT_00088970 + 8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00088970 + 8)" ( (binary_expression "DAT_00088970 + 8" identifier + number_literal) )))) , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) (expression_statement "uVar17 = FUN_00038f70();" (assignment_expression "uVar17 = FUN_00038f70()" identifier = (call_expression "FUN_00038f70()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = getpwd();" (assignment_expression "uVar8 = getpwd()" identifier = (call_expression "getpwd()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar12 = (char *)FUN_00035620(uVar8);" (assignment_expression "pcVar12 = (char *)FUN_00035620(uVar8)" identifier = (cast_expression "(char *)FUN_00035620(uVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00035620(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))))) ;) (expression_statement "sVar13 = strlen(pcVar12);" (assignment_expression "sVar13 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "memcpy(pvVar14,pcVar12,sVar13 + 1);" (call_expression "memcpy(pvVar14,pcVar12,sVar13 + 1)" identifier (argument_list "(pvVar14,pcVar12,sVar13 + 1)" ( identifier , identifier , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) (expression_statement "uVar18 = FUN_00038f70();" (assignment_expression "uVar18 = FUN_00038f70()" identifier = (call_expression "FUN_00038f70()" identifier (argument_list "()" ( )))) ;) (expression_statement "sprintf((char *)local_cc,"GNU AS %s","2.31.1");" (call_expression "sprintf((char *)local_cc,"GNU AS %s","2.31.1")" identifier (argument_list "((char *)local_cc,"GNU AS %s","2.31.1")" ( (cast_expression "(char *)local_cc" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""GNU AS %s"" " string_content ") , (string_literal ""2.31.1"" " string_content ") ))) ;) (expression_statement "puVar20 = local_cc;" (assignment_expression "puVar20 = local_cc" identifier = identifier) ;) (do_statement "do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);" do (compound_statement "{\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    }" { (expression_statement "puVar23 = puVar20;" (assignment_expression "puVar23 = puVar20" identifier = identifier) ;) (expression_statement "uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;" (assignment_expression "uVar19 = *puVar23 + 0xfefefeff & ~*puVar23" identifier = (binary_expression "*puVar23 + 0xfefefeff & ~*puVar23" (binary_expression "*puVar23 + 0xfefefeff" (pointer_expression "*puVar23" * identifier) + number_literal) & (unary_expression "~*puVar23" ~ (pointer_expression "*puVar23" * identifier)))) ;) (expression_statement "uVar25 = uVar19 & 0x80808080;" (assignment_expression "uVar25 = uVar19 & 0x80808080" identifier = (binary_expression "uVar19 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = puVar23 + 1;" (assignment_expression "puVar20 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) ;) (expression_statement "bVar33 = (uVar19 & 0x8080) == 0;" (assignment_expression "bVar33 = (uVar19 & 0x8080) == 0" identifier = (binary_expression "(uVar19 & 0x8080) == 0" (parenthesized_expression "(uVar19 & 0x8080)" ( (binary_expression "uVar19 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }" if (parenthesized_expression "(bVar33)" ( identifier )) (compound_statement "{\n      uVar25 = uVar25 >> 0x10;\n    }" { (expression_statement "uVar25 = uVar25 >> 0x10;" (assignment_expression "uVar25 = uVar25 >> 0x10" identifier = (binary_expression "uVar25 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }" if (parenthesized_expression "(bVar33)" ( identifier )) (compound_statement "{\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }" { (expression_statement "puVar20 = (uint *)((int)puVar23 + 6);" (assignment_expression "puVar20 = (uint *)((int)puVar23 + 6)" identifier = (cast_expression "(uint *)((int)puVar23 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + 6)" ( (binary_expression "(int)puVar23 + 6" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;" (assignment_expression "uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2" identifier = (binary_expression "(int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2" (binary_expression "(int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25))" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25))" ( (binary_expression "-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)" (unary_expression "-(int)local_cc" - (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) - (cast_expression "(uint)CARRY1((byte)uVar25,(byte)uVar25)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar25,(byte)uVar25)" identifier (argument_list "((byte)uVar25,(byte)uVar25)" ( (cast_expression "(byte)uVar25" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar25" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) + number_literal)) ;) (expression_statement "puVar20 = (uint *)FUN_00024b20(uVar25);" (assignment_expression "puVar20 = (uint *)FUN_00024b20(uVar25)" identifier = (cast_expression "(uint *)FUN_00024b20(uVar25)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(uVar25)" identifier (argument_list "(uVar25)" ( identifier ))))) ;) (if_statement "if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }" if (parenthesized_expression "(uVar25 < 4)" ( (binary_expression "uVar25 < 4" identifier < number_literal) )) (compound_statement "{\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }" { (if_statement "if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }" { (expression_statement "*(undefined1 *)puVar20 = (undefined1)local_9c[0];" (assignment_expression "*(undefined1 *)puVar20 = (undefined1)local_9c[0]" (pointer_expression "*(undefined1 *)puVar20" * (cast_expression "(undefined1 *)puVar20" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(undefined1)local_9c[0]" ( (type_descriptor "undefined1" type_identifier) ) (subscript_expression "local_9c[0]" identifier [ number_literal ]))) ;) (if_statement "if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }" if (parenthesized_expression "((uVar25 & 2) != 0)" ( (binary_expression "(uVar25 & 2) != 0" (parenthesized_expression "(uVar25 & 2)" ( (binary_expression "uVar25 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }" { (expression_statement "*(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);" (assignment_expression "*(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2)" (pointer_expression "*(undefined2 *)((int)puVar20 + (uVar25 - 2))" * (cast_expression "(undefined2 *)((int)puVar20 + (uVar25 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + (uVar25 - 2))" ( (binary_expression "(int)puVar20 + (uVar25 - 2)" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar25 - 2)" ( (binary_expression "uVar25 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(local_a0 + uVar25 + 2)" * (cast_expression "(undefined2 *)(local_a0 + uVar25 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a0 + uVar25 + 2)" ( (binary_expression "local_a0 + uVar25 + 2" (binary_expression "local_a0 + uVar25" identifier + identifier) + number_literal) ))))) ;) })) })) }) (else_clause "else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }" else (compound_statement "{\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }" { (expression_statement "*puVar20 = local_9c[0];" (assignment_expression "*puVar20 = local_9c[0]" (pointer_expression "*puVar20" * identifier) = (subscript_expression "local_9c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);" (assignment_expression "*(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25)" (pointer_expression "*(undefined4 *)((int)puVar20 + (uVar25 - 4))" * (cast_expression "(undefined4 *)((int)puVar20 + (uVar25 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + (uVar25 - 4))" ( (binary_expression "(int)puVar20 + (uVar25 - 4)" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar25 - 4)" ( (binary_expression "uVar25 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(local_a0 + uVar25)" * (cast_expression "(undefined4 *)(local_a0 + uVar25)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a0 + uVar25)" ( (binary_expression "local_a0 + uVar25" identifier + identifier) ))))) ;) (expression_statement "iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);" (assignment_expression "iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc)" identifier = (binary_expression "(int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc)" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(puVar20 + 1) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(puVar20 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar20 + 1) & 0xfffffffc" (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "puVar26 = (undefined4 *)((int)local_cc - iVar6);" (assignment_expression "puVar26 = (undefined4 *)((int)local_cc - iVar6)" identifier = (cast_expression "(undefined4 *)((int)local_cc - iVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_cc - iVar6)" ( (binary_expression "(int)local_cc - iVar6" (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);" (assignment_expression "puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar20 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar20 + 1) & 0xfffffffc" (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }" for ( (assignment_expression "uVar25 = iVar6 + uVar25 >> 2" identifier = (binary_expression "iVar6 + uVar25 >> 2" (binary_expression "iVar6 + uVar25" identifier + identifier) >> number_literal)) ; (binary_expression "uVar25 != 0" identifier != number_literal) ; (assignment_expression "uVar25 = uVar25 - 1" identifier = (binary_expression "uVar25 - 1" identifier - number_literal)) ) (compound_statement "{\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }" { (expression_statement "*puVar31 = *puVar26;" (assignment_expression "*puVar31 = *puVar26" (pointer_expression "*puVar31" * identifier) = (pointer_expression "*puVar26" * identifier)) ;) (expression_statement "puVar26 = puVar26 + (uint)bVar35 * -2 + 1;" (assignment_expression "puVar26 = puVar26 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "puVar26 + (uint)bVar35 * -2 + 1" (binary_expression "puVar26 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar31 = puVar31 + (uint)bVar35 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "puVar31 + (uint)bVar35 * -2 + 1" (binary_expression "puVar31 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }))) (expression_statement "uVar8 = FUN_0001a5e0();" (assignment_expression "uVar8 = FUN_0001a5e0()" identifier = (call_expression "FUN_0001a5e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = local_b0;" (assignment_expression "iVar6 = local_b0" identifier = identifier) ;) (expression_statement "uVar16 = FUN_00024b20(2);" (assignment_expression "uVar16 = FUN_00024b20(2)" identifier = (call_expression "FUN_00024b20(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_000416b0(uVar16,2,0,2);" (call_expression "FUN_000416b0(uVar16,2,0,2)" identifier (argument_list "(uVar16,2,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_9c[0] = FUN_00036bd0(uVar9);" (assignment_expression "local_9c[0] = FUN_00036bd0(uVar9)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036bd0(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) (expression_statement "FUN_00024e20(DAT_00088950);" (call_expression "FUN_00024e20(DAT_00088950)" identifier (argument_list "(DAT_00088950)" ( identifier ))) ;) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_9c[0] = FUN_00036bd0(uVar7);" (assignment_expression "local_9c[0] = FUN_00036bd0(uVar7)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036bd0(uVar7)" identifier (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00031660(local_cc,4);" (call_expression "FUN_00031660(local_cc,4)" identifier (argument_list "(local_cc,4)" ( identifier , number_literal ))) ;) (if_statement "if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }" if (parenthesized_expression "(*DAT_00088978 == 0)" ( (binary_expression "*DAT_00088978 == 0" (pointer_expression "*DAT_00088978" * identifier) == number_literal) )) (compound_statement "{\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }" { (expression_statement "local_b0 = DAT_00088978[3];" (assignment_expression "local_b0 = DAT_00088978[3]" identifier = (subscript_expression "DAT_00088978[3]" identifier [ number_literal ])) ;) (expression_statement "local_a0[0] = 3;" (assignment_expression "local_a0[0] = 3" (subscript_expression "local_a0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (expression_statement "FUN_00031660(&local_b0,DAT_00088950);" (call_expression "FUN_00031660(&local_b0,DAT_00088950)" identifier (argument_list "(&local_b0,DAT_00088950)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) (expression_statement "local_a0[0] = 3;" (assignment_expression "local_a0[0] = 3" (subscript_expression "local_a0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_b0 = DAT_00088978[4];" (assignment_expression "local_b0 = DAT_00088978[4]" identifier = (subscript_expression "DAT_00088978[4]" identifier [ number_literal ])) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (expression_statement "FUN_00031660(&local_b0,DAT_00088950);" (call_expression "FUN_00031660(&local_b0,DAT_00088950)" identifier (argument_list "(&local_b0,DAT_00088950)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) }) (else_clause "else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }" else (compound_statement "{\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }" { (expression_statement "local_9c[0] = FUN_00036bd0(local_ec);" (assignment_expression "local_9c[0] = FUN_00036bd0(local_ec)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036bd0(local_ec)" identifier (argument_list "(local_ec)" ( identifier )))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) }))) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[0] = uVar27;" (assignment_expression "local_9c[0] = uVar27" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[0] = uVar17;" (assignment_expression "local_9c[0] = uVar17" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" identifier = number_literal) ;) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_9c[0] = uVar18;" (assignment_expression "local_9c[0] = uVar18" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) (expression_statement "uVar7 = FUN_00024b20(2);" (assignment_expression "uVar7 = FUN_00024b20(2)" identifier = (call_expression "FUN_00024b20(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_000416b0(uVar7,0x8001,0,2);" (call_expression "FUN_000416b0(uVar7,0x8001,0,2)" identifier (argument_list "(uVar7,0x8001,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "FUN_0003b7e0(iVar6);" (call_expression "FUN_0003b7e0(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);" (call_expression "FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11)" identifier (argument_list "("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11)" ( (string_literal ""../../gas/dwarf2dbg.c"" " string_content ") , number_literal , (string_literal ""out_debug_str"" " string_content ") , (binary_expression "iVar6 + iVar11" identifier + identifier) ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (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 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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( IDENT ))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ]))) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , LIT ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) , (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT - IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)))))) ))) )) (goto_statement goto statement_identifier ;)))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) }))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (for_statement for ( ; (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> IDENT) & LIT) )) == LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (for_statement for ( ; (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> IDENT) & LIT) )) == LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))))) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) + (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) )))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) )))) , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) ))))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) ))))) )) ;) })) (for_statement for ( ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))))) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + IDENT) , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )))) ;) (for_statement for ( (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) >> LIT)) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT - LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , (binary_expression IDENT + IDENT) ))) ;) })))
(function_definition "void FUN_0001be60(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  longlong lVar3;\n  undefined *puVar4;\n  undefined1 auVar5 [4];\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  char *pcVar12;\n  size_t sVar13;\n  void *pvVar14;\n  int iVar15;\n  undefined4 uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  int iVar22;\n  uint *puVar23;\n  byte *pbVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  uint uVar27;\n  byte *pbVar28;\n  int *piVar29;\n  int iVar30;\n  undefined4 *puVar31;\n  bool bVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  longlong lVar36;\n  undefined8 uVar37;\n  uint local_10c;\n  int local_108;\n  uint local_100;\n  int local_ec;\n  int local_e8;\n  int local_d0;\n  uint *local_cc;\n  int *local_c4;\n  int local_b0;\n  int local_ac;\n  uint local_a8;\n  undefined1 local_a4 [4];\n  undefined1 local_a0 [4];\n  uint local_9c [4];\n  undefined1 local_8c;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x1be6b;\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");\n  bVar33 = true;\n  if (iVar6 != 0) {\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");\n  if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002be00("duplicate .debug_line sections");\n  }\n  if ((DAT_00088978 == (int *)0x0) && (bVar33)) {\n    return;\n  }\n  DAT_00088950 = FUN_00054100();\n  uVar7 = FUN_00036b20(".debug_line",0);\n  bfd_set_section_flags(DAT_00089944,uVar7,0x2008);\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }\n  uVar8 = FUN_0001a5e0();\n  iVar6 = local_b0;\n  uVar9 = FUN_00024b20(2);\n  FUN_000416b0(uVar9,2,0,2);\n  iVar10 = FUN_00038f20();\n  iVar11 = FUN_00038f20();\n  local_a0[0] = 0x14;\n  uVar27 = 1;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_00031660(&local_b0,uVar8);\n  FUN_0003b7e0(iVar10);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0xfffffffb);\n  FUN_00024e20(0xe);\n  FUN_00024e20(0xd);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  if (1 < DAT_00088960) {\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }\n  uVar27 = 1;\n  FUN_00024e20(0);\n  if (1 < DAT_0008896c) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }\nLAB_0001c228:\n  FUN_00024e20(0);\n  FUN_0003b7e0(iVar11);\n  puVar4 = PTR__bfd_std_section_0007ffb0;\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }\n  if (DAT_000897f0 != 0) {\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }\n  FUN_0003b7e0(iVar6);\n  if (!bVar33) {\n    return;\n  }\n  if (DAT_00088978 == (int *)0x0) {\n                    \n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_00036b20(".debug_info",0);\n  uVar9 = FUN_00036b20(".debug_abbrev",0);\n  uVar16 = FUN_00036b20(".debug_aranges",0);\n  iVar10 = FUN_00036b20(".debug_str",0);\n  bfd_set_section_flags(DAT_00089944,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);\n  iVar6 = DAT_00088950;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar27 = iVar6 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(uVar16,iVar6);\n  local_ec = *DAT_00088978;\n  if (local_ec == 0) goto LAB_0001c984;\n  local_ec = FUN_00036b20(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00089944,local_ec,0x2008);\n  uVar27 = DAT_00088950 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(local_ec,iVar6);\n  iVar6 = DAT_00088950;\n  FUN_00036b80(local_ec,0);\n  if (iVar6 == 0) {\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }\n  else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\nLAB_0001c984:\n  iVar11 = DAT_00088950;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a5e0();\n  auVar5 = local_a4;\n  uVar27 = local_a8;\n  iVar2 = local_b0;\n  uVar16 = FUN_00024b20(2);\n  FUN_000416b0(uVar16,2,0,2);\n  local_9c[0] = FUN_00036bd0(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_00031660(local_cc,uVar17);\n  uVar25 = 2 - uVar27;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024e20(iVar11);\n  FUN_00024e20(0);\n  uVar27 = uVar18 + 3;\n  iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar6 = iVar11 * 2;\n  uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);\n  piVar29 = DAT_00088978;\n  if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }\n  for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }\n  iVar6 = FUN_00024b20(iVar6);\n  FUN_000416b0(iVar6,0,0,iVar11);\n  FUN_000416b0(iVar6 + iVar11,0,0,iVar11);\n  FUN_0003b7e0(iVar2);\n  FUN_00036b80(uVar9,0);\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_0001a680();\n  FUN_0001a680();\n  if (*DAT_00088978 == 0) {\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_00036b80(iVar10,0);\n  uVar27 = FUN_00038f70();\n  if (DAT_0008896c != 0) {\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }\n                    \n  FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);\n}" (primitive_type "void") (function_declarator "FUN_0001be60(void)" (identifier "FUN_0001be60") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  longlong lVar3;\n  undefined *puVar4;\n  undefined1 auVar5 [4];\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  char *pcVar12;\n  size_t sVar13;\n  void *pvVar14;\n  int iVar15;\n  undefined4 uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  int iVar22;\n  uint *puVar23;\n  byte *pbVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  uint uVar27;\n  byte *pbVar28;\n  int *piVar29;\n  int iVar30;\n  undefined4 *puVar31;\n  bool bVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  longlong lVar36;\n  undefined8 uVar37;\n  uint local_10c;\n  int local_108;\n  uint local_100;\n  int local_ec;\n  int local_e8;\n  int local_d0;\n  uint *local_cc;\n  int *local_c4;\n  int local_b0;\n  int local_ac;\n  uint local_a8;\n  undefined1 local_a4 [4];\n  undefined1 local_a0 [4];\n  uint local_9c [4];\n  undefined1 local_8c;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x1be6b;\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");\n  bVar33 = true;\n  if (iVar6 != 0) {\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }\n  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");\n  if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002be00("duplicate .debug_line sections");\n  }\n  if ((DAT_00088978 == (int *)0x0) && (bVar33)) {\n    return;\n  }\n  DAT_00088950 = FUN_00054100();\n  uVar7 = FUN_00036b20(".debug_line",0);\n  bfd_set_section_flags(DAT_00089944,uVar7,0x2008);\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }\n  uVar8 = FUN_0001a5e0();\n  iVar6 = local_b0;\n  uVar9 = FUN_00024b20(2);\n  FUN_000416b0(uVar9,2,0,2);\n  iVar10 = FUN_00038f20();\n  iVar11 = FUN_00038f20();\n  local_a0[0] = 0x14;\n  uVar27 = 1;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_00031660(&local_b0,uVar8);\n  FUN_0003b7e0(iVar10);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0xfffffffb);\n  FUN_00024e20(0xe);\n  FUN_00024e20(0xd);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  FUN_00024e20(0);\n  FUN_00024e20(0);\n  FUN_00024e20(1);\n  if (1 < DAT_00088960) {\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }\n  uVar27 = 1;\n  FUN_00024e20(0);\n  if (1 < DAT_0008896c) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }\nLAB_0001c228:\n  FUN_00024e20(0);\n  FUN_0003b7e0(iVar11);\n  puVar4 = PTR__bfd_std_section_0007ffb0;\n  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }\n  if (DAT_000897f0 != 0) {\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }\n  FUN_0003b7e0(iVar6);\n  if (!bVar33) {\n    return;\n  }\n  if (DAT_00088978 == (int *)0x0) {\n                    \n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_00036b20(".debug_info",0);\n  uVar9 = FUN_00036b20(".debug_abbrev",0);\n  uVar16 = FUN_00036b20(".debug_aranges",0);\n  iVar10 = FUN_00036b20(".debug_str",0);\n  bfd_set_section_flags(DAT_00089944,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00089944,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);\n  iVar6 = DAT_00088950;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar27 = iVar6 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(uVar16,iVar6);\n  local_ec = *DAT_00088978;\n  if (local_ec == 0) goto LAB_0001c984;\n  local_ec = FUN_00036b20(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00089944,local_ec,0x2008);\n  uVar27 = DAT_00088950 * 2;\n  iVar6 = 0;\n  if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }\n  if (uVar27 == 0) {\n    iVar6 = -1;\n  }\n  FUN_0003f680(local_ec,iVar6);\n  iVar6 = DAT_00088950;\n  FUN_00036b80(local_ec,0);\n  if (iVar6 == 0) {\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }\n  else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\n  iVar11 = 0;\n  do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);\nLAB_0001c984:\n  iVar11 = DAT_00088950;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a5e0();\n  auVar5 = local_a4;\n  uVar27 = local_a8;\n  iVar2 = local_b0;\n  uVar16 = FUN_00024b20(2);\n  FUN_000416b0(uVar16,2,0,2);\n  local_9c[0] = FUN_00036bd0(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_00031660(local_cc,uVar17);\n  uVar25 = 2 - uVar27;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024e20(iVar11);\n  FUN_00024e20(0);\n  uVar27 = uVar18 + 3;\n  iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar6 = iVar11 * 2;\n  uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);\n  piVar29 = DAT_00088978;\n  if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }\n  for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }\n  iVar6 = FUN_00024b20(iVar6);\n  FUN_000416b0(iVar6,0,0,iVar11);\n  FUN_000416b0(iVar6 + iVar11,0,0,iVar11);\n  FUN_0003b7e0(iVar2);\n  FUN_00036b80(uVar9,0);\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_0001a680();\n  FUN_0001a680();\n  if (*DAT_00088978 == 0) {\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_0001a680();\n  FUN_00024e20(0);\n  FUN_00036b80(iVar10,0);\n  uVar27 = FUN_00038f70();\n  if (DAT_0008896c != 0) {\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }\n                    \n  FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "longlong lVar3;" (type_identifier "longlong") (identifier "lVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined1 auVar5 [4];" (type_identifier "undefined1") (array_declarator "auVar5 [4]" (identifier "auVar5") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "size_t sVar13;" (primitive_type "size_t") (identifier "sVar13") (; ";")) (declaration "void *pvVar14;" (primitive_type "void") (pointer_declarator "*pvVar14" (* "*") (identifier "pvVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "uint *puVar20;" (type_identifier "uint") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "uint *puVar23;" (type_identifier "uint") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "byte *pbVar24;" (type_identifier "byte") (pointer_declarator "*pbVar24" (* "*") (identifier "pbVar24")) (; ";")) (declaration "uint uVar25;" (type_identifier "uint") (identifier "uVar25") (; ";")) (declaration "undefined4 *puVar26;" (type_identifier "undefined4") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "uint uVar27;" (type_identifier "uint") (identifier "uVar27") (; ";")) (declaration "byte *pbVar28;" (type_identifier "byte") (pointer_declarator "*pbVar28" (* "*") (identifier "pbVar28")) (; ";")) (declaration "int *piVar29;" (primitive_type "int") (pointer_declarator "*piVar29" (* "*") (identifier "piVar29")) (; ";")) (declaration "int iVar30;" (primitive_type "int") (identifier "iVar30") (; ";")) (declaration "undefined4 *puVar31;" (type_identifier "undefined4") (pointer_declarator "*puVar31" (* "*") (identifier "puVar31")) (; ";")) (declaration "bool bVar32;" (primitive_type "bool") (identifier "bVar32") (; ";")) (declaration "bool bVar33;" (primitive_type "bool") (identifier "bVar33") (; ";")) (declaration "bool bVar34;" (primitive_type "bool") (identifier "bVar34") (; ";")) (declaration "byte bVar35;" (type_identifier "byte") (identifier "bVar35") (; ";")) (declaration "longlong lVar36;" (type_identifier "longlong") (identifier "lVar36") (; ";")) (declaration "undefined8 uVar37;" (type_identifier "undefined8") (identifier "uVar37") (; ";")) (declaration "uint local_10c;" (type_identifier "uint") (identifier "local_10c") (; ";")) (declaration "int local_108;" (primitive_type "int") (identifier "local_108") (; ";")) (declaration "uint local_100;" (type_identifier "uint") (identifier "local_100") (; ";")) (declaration "int local_ec;" (primitive_type "int") (identifier "local_ec") (; ";")) (declaration "int local_e8;" (primitive_type "int") (identifier "local_e8") (; ";")) (declaration "int local_d0;" (primitive_type "int") (identifier "local_d0") (; ";")) (declaration "uint *local_cc;" (type_identifier "uint") (pointer_declarator "*local_cc" (* "*") (identifier "local_cc")) (; ";")) (declaration "int *local_c4;" (primitive_type "int") (pointer_declarator "*local_c4" (* "*") (identifier "local_c4")) (; ";")) (declaration "int local_b0;" (primitive_type "int") (identifier "local_b0") (; ";")) (declaration "int local_ac;" (primitive_type "int") (identifier "local_ac") (; ";")) (declaration "uint local_a8;" (type_identifier "uint") (identifier "local_a8") (; ";")) (declaration "undefined1 local_a4 [4];" (type_identifier "undefined1") (array_declarator "local_a4 [4]" (identifier "local_a4") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 local_a0 [4];" (type_identifier "undefined1") (array_declarator "local_a0 [4]" (identifier "local_a0") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "uint local_9c [4];" (type_identifier "uint") (array_declarator "local_9c [4]" (identifier "local_9c") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 local_8c;" (type_identifier "undefined1") (identifier "local_8c") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" (identifier "bVar35") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x1be6b;" (assignment_expression "uStack_14 = 0x1be6b" (identifier "uStack_14") (= "=") (number_literal "0x1be6b")) (; ";")) (expression_statement "iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");" (assignment_expression "iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info")" (identifier "iVar6") (= "=") (call_expression "bfd_get_section_by_name(DAT_00089944,".debug_info")" (identifier "bfd_get_section_by_name") (argument_list "(DAT_00089944,".debug_info")" (( "(") (identifier "DAT_00089944") (, ",") (string_literal "".debug_info"" (" """) (string_content ".debug_info") (" """)) () ")")))) (; ";")) (expression_statement "bVar33 = true;" (assignment_expression "bVar33 = true" (identifier "bVar33") (= "=") (true "true")) (; ";")) (if_statement "if (iVar6 != 0) {\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar6 = FUN_00036d50(iVar6);\n    bVar33 = iVar6 == 0;\n  }" ({ "{") (expression_statement "iVar6 = FUN_00036d50(iVar6);" (assignment_expression "iVar6 = FUN_00036d50(iVar6)" (identifier "iVar6") (= "=") (call_expression "FUN_00036d50(iVar6)" (identifier "FUN_00036d50") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "bVar33 = iVar6 == 0;" (assignment_expression "bVar33 = iVar6 == 0" (identifier "bVar33") (= "=") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) (; ";")) (} "}"))) (expression_statement "iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");" (assignment_expression "iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line")" (identifier "iVar6") (= "=") (call_expression "bfd_get_section_by_name(DAT_00089944,".debug_line")" (identifier "bfd_get_section_by_name") (argument_list "(DAT_00089944,".debug_line")" (( "(") (identifier "DAT_00089944") (, ",") (string_literal "".debug_line"" (" """) (string_content ".debug_line") (" """)) () ")")))) (; ";")) (if_statement "if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002be00("duplicate .debug_line sections");\n  }" (if "if") (parenthesized_expression "((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0))" (( "(") (binary_expression "(iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)" (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = FUN_00036d50(iVar6), iVar6 != 0)" (( "(") (comma_expression "iVar6 = FUN_00036d50(iVar6), iVar6 != 0" (assignment_expression "iVar6 = FUN_00036d50(iVar6)" (identifier "iVar6") (= "=") (call_expression "FUN_00036d50(iVar6)" (identifier "FUN_00036d50") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    if (DAT_00088978 == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002be00("duplicate .debug_line sections");\n  }" ({ "{") (if_statement "if (DAT_00088978 == (int *)0x0) {\n      return;\n    }" (if "if") (parenthesized_expression "(DAT_00088978 == (int *)0x0)" (( "(") (binary_expression "DAT_00088978 == (int *)0x0" (identifier "DAT_00088978") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0002be00("duplicate .debug_line sections");" (call_expression "FUN_0002be00("duplicate .debug_line sections")" (identifier "FUN_0002be00") (argument_list "("duplicate .debug_line sections")" (( "(") (string_literal ""duplicate .debug_line sections"" (" """) (string_content "duplicate .debug_line sections") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((DAT_00088978 == (int *)0x0) && (bVar33)) {\n    return;\n  }" (if "if") (parenthesized_expression "((DAT_00088978 == (int *)0x0) && (bVar33))" (( "(") (binary_expression "(DAT_00088978 == (int *)0x0) && (bVar33)" (parenthesized_expression "(DAT_00088978 == (int *)0x0)" (( "(") (binary_expression "DAT_00088978 == (int *)0x0" (identifier "DAT_00088978") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(bVar33)" (( "(") (identifier "bVar33") () ")"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "DAT_00088950 = FUN_00054100();" (assignment_expression "DAT_00088950 = FUN_00054100()" (identifier "DAT_00088950") (= "=") (call_expression "FUN_00054100()" (identifier "FUN_00054100") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar7 = FUN_00036b20(".debug_line",0);" (assignment_expression "uVar7 = FUN_00036b20(".debug_line",0)" (identifier "uVar7") (= "=") (call_expression "FUN_00036b20(".debug_line",0)" (identifier "FUN_00036b20") (argument_list "(".debug_line",0)" (( "(") (string_literal "".debug_line"" (" """) (string_content ".debug_line") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "bfd_set_section_flags(DAT_00089944,uVar7,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,uVar7,0x2008)" (identifier "bfd_set_section_flags") (argument_list "(DAT_00089944,uVar7,0x2008)" (( "(") (identifier "DAT_00089944") (, ",") (identifier "uVar7") (, ",") (number_literal "0x2008") () ")"))) (; ";")) (for_statement "for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }" (for "for") (( "(") (assignment_expression "piVar29 = DAT_00088978" (identifier "piVar29") (= "=") (identifier "DAT_00088978")) (; ";") (binary_expression "piVar29 != (int *)0x0" (identifier "piVar29") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "piVar29 = (int *)*piVar29" (identifier "piVar29") (= "=") (cast_expression "(int *)*piVar29" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar29" (* "*") (identifier "piVar29")))) () ")") (compound_statement "{\n    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];\n    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }\n  }" ({ "{") (expression_statement "puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];" (assignment_expression "puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3]" (identifier "puVar26") (= "=") (cast_expression "(undefined4 *)((undefined4 *)piVar29[2])[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "((undefined4 *)piVar29[2])[3]" (parenthesized_expression "((undefined4 *)piVar29[2])" (( "(") (cast_expression "(undefined4 *)piVar29[2]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar29[2]" (identifier "piVar29") ([ "[") (number_literal "2") (] "]"))) () ")")) ([ "[") (number_literal "3") (] "]")))) (; ";")) (for_statement "for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;\n        puVar31 = (undefined4 *)*puVar31) {\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }" (for "for") (( "(") (assignment_expression "puVar31 = *(undefined4 **)piVar29[2]" (identifier "puVar31") (= "=") (pointer_expression "*(undefined4 **)piVar29[2]" (* "*") (cast_expression "(undefined4 **)piVar29[2]" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "piVar29[2]" (identifier "piVar29") ([ "[") (number_literal "2") (] "]"))))) (; ";") (binary_expression "puVar31 != (undefined4 *)0x0" (identifier "puVar31") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar31 = (undefined4 *)*puVar31" (identifier "puVar31") (= "=") (cast_expression "(undefined4 *)*puVar31" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar31" (* "*") (identifier "puVar31")))) () ")") (compound_statement "{\n      *puVar26 = puVar31[2];\n      puVar26 = (undefined4 *)puVar31[3];\n    }" ({ "{") (expression_statement "*puVar26 = puVar31[2];" (assignment_expression "*puVar26 = puVar31[2]" (pointer_expression "*puVar26" (* "*") (identifier "puVar26")) (= "=") (subscript_expression "puVar31[2]" (identifier "puVar31") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "puVar26 = (undefined4 *)puVar31[3];" (assignment_expression "puVar26 = (undefined4 *)puVar31[3]" (identifier "puVar26") (= "=") (cast_expression "(undefined4 *)puVar31[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar31[3]" (identifier "puVar31") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar8 = FUN_0001a5e0();" (assignment_expression "uVar8 = FUN_0001a5e0()" (identifier "uVar8") (= "=") (call_expression "FUN_0001a5e0()" (identifier "FUN_0001a5e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar6 = local_b0;" (assignment_expression "iVar6 = local_b0" (identifier "iVar6") (= "=") (identifier "local_b0")) (; ";")) (expression_statement "uVar9 = FUN_00024b20(2);" (assignment_expression "uVar9 = FUN_00024b20(2)" (identifier "uVar9") (= "=") (call_expression "FUN_00024b20(2)" (identifier "FUN_00024b20") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (; ";")) (expression_statement "FUN_000416b0(uVar9,2,0,2);" (call_expression "FUN_000416b0(uVar9,2,0,2)" (identifier "FUN_000416b0") (argument_list "(uVar9,2,0,2)" (( "(") (identifier "uVar9") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "iVar10 = FUN_00038f20();" (assignment_expression "iVar10 = FUN_00038f20()" (identifier "iVar10") (= "=") (call_expression "FUN_00038f20()" (identifier "FUN_00038f20") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar11 = FUN_00038f20();" (assignment_expression "iVar11 = FUN_00038f20()" (identifier "iVar11") (= "=") (call_expression "FUN_00038f20()" (identifier "FUN_00038f20") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_a0[0] = 0x14;" (assignment_expression "local_a0[0] = 0x14" (subscript_expression "local_a0[0]" (identifier "local_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0x14")) (; ";")) (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" (identifier "uVar27") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" (identifier "local_a4") (= "=") (cast_expression "(undefined1  [4])0x0" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b0 = iVar11;" (assignment_expression "local_b0 = iVar11" (identifier "local_b0") (= "=") (identifier "iVar11")) (; ";")) (expression_statement "local_ac = iVar10;" (assignment_expression "local_ac = iVar10" (identifier "local_ac") (= "=") (identifier "iVar10")) (; ";")) (expression_statement "FUN_00031660(&local_b0,uVar8);" (call_expression "FUN_00031660(&local_b0,uVar8)" (identifier "FUN_00031660") (argument_list "(&local_b0,uVar8)" (( "(") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "FUN_0003b7e0(iVar10);" (call_expression "FUN_0003b7e0(iVar10)" (identifier "FUN_0003b7e0") (argument_list "(iVar10)" (( "(") (identifier "iVar10") () ")"))) (; ";")) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" (identifier "FUN_00024e20") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" (identifier "FUN_00024e20") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0xfffffffb);" (call_expression "FUN_00024e20(0xfffffffb)" (identifier "FUN_00024e20") (argument_list "(0xfffffffb)" (( "(") (number_literal "0xfffffffb") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0xe);" (call_expression "FUN_00024e20(0xe)" (identifier "FUN_00024e20") (argument_list "(0xe)" (( "(") (number_literal "0xe") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0xd);" (call_expression "FUN_00024e20(0xd)" (identifier "FUN_00024e20") (argument_list "(0xd)" (( "(") (number_literal "0xd") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" (identifier "FUN_00024e20") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" (identifier "FUN_00024e20") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" (identifier "FUN_00024e20") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" (identifier "FUN_00024e20") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" (identifier "FUN_00024e20") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00024e20(1);" (call_expression "FUN_00024e20(1)" (identifier "FUN_00024e20") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (if_statement "if (1 < DAT_00088960) {\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }" (if "if") (parenthesized_expression "(1 < DAT_00088960)" (( "(") (binary_expression "1 < DAT_00088960" (number_literal "1") (< "<") (identifier "DAT_00088960")) () ")")) (compound_statement "{\n    do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);\n  }" ({ "{") (do_statement "do {\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar27 < DAT_00088960);" (do "do") (compound_statement "{\n      iVar10 = uVar27 * 4;\n      uVar27 = uVar27 + 1;\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    }" ({ "{") (expression_statement "iVar10 = uVar27 * 4;" (assignment_expression "iVar10 = uVar27 * 4" (identifier "iVar10") (= "=") (binary_expression "uVar27 * 4" (identifier "uVar27") (* "*") (number_literal "4"))) (; ";")) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" (identifier "uVar27") (= "=") (binary_expression "uVar27 + 1" (identifier "uVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));" (assignment_expression "pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10))" (identifier "pcVar12") (= "=") (cast_expression "(char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10))" (identifier "FUN_00035620") (argument_list "(*(undefined4 *)(DAT_00088964 + iVar10))" (( "(") (pointer_expression "*(undefined4 *)(DAT_00088964 + iVar10)" (* "*") (cast_expression "(undefined4 *)(DAT_00088964 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00088964 + iVar10)" (( "(") (binary_expression "DAT_00088964 + iVar10" (identifier "DAT_00088964") (+ "+") (identifier "iVar10")) () ")")))) () ")"))))) (; ";")) (expression_statement "sVar13 = strlen(pcVar12);" (assignment_expression "sVar13 = strlen(pcVar12)" (identifier "sVar13") (= "=") (call_expression "strlen(pcVar12)" (identifier "strlen") (argument_list "(pcVar12)" (( "(") (identifier "pcVar12") () ")")))) (; ";")) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" (identifier "pvVar14") (= "=") (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024b20(sVar13 + 1)" (identifier "FUN_00024b20") (argument_list "(sVar13 + 1)" (( "(") (binary_expression "sVar13 + 1" (identifier "sVar13") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "memcpy(pvVar14,pcVar12,sVar13 + 1);" (call_expression "memcpy(pvVar14,pcVar12,sVar13 + 1)" (identifier "memcpy") (argument_list "(pvVar14,pcVar12,sVar13 + 1)" (( "(") (identifier "pvVar14") (, ",") (identifier "pcVar12") (, ",") (binary_expression "sVar13 + 1" (identifier "sVar13") (+ "+") (number_literal "1")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar27 < DAT_00088960)" (( "(") (binary_expression "uVar27 < DAT_00088960" (identifier "uVar27") (< "<") (identifier "DAT_00088960")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" (identifier "uVar27") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (if_statement "if (1 < DAT_0008896c) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }" (if "if") (parenthesized_expression "(1 < DAT_0008896c)" (( "(") (binary_expression "1 < DAT_0008896c" (number_literal "1") (< "<") (identifier "DAT_0008896c")) () ")")) (compound_statement "{\n    do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);\n  }" ({ "{") (do_statement "do {\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    } while (uVar27 < DAT_0008896c);" (do "do") (compound_statement "{\n      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd60(uVar8,uVar27);\n      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;\n      uVar27 = uVar27 + 1;\n    }" ({ "{") (while_statement "while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }" (while "while") (parenthesized_expression "(pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0)" (( "(") (comma_expression "pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0" (assignment_expression "pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8)" (identifier "pcVar12") (= "=") (pointer_expression "*(char **)(DAT_00088970 + uVar27 * 8)" (* "*") (cast_expression "(char **)(DAT_00088970 + uVar27 * 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_00088970 + uVar27 * 8)" (( "(") (binary_expression "DAT_00088970 + uVar27 * 8" (identifier "DAT_00088970") (+ "+") (binary_expression "uVar27 * 8" (identifier "uVar27") (* "*") (number_literal "8"))) () ")"))))) (, ",") (binary_expression "pcVar12 != (char *)0x0" (identifier "pcVar12") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar27 = uVar27 + 1;\n        FUN_0001a680();\n        FUN_0001a680();\n        FUN_0001a680();\n        if (DAT_0008896c <= uVar27) goto LAB_0001c228;\n      }" ({ "{") (expression_statement "sVar13 = strlen(pcVar12);" (assignment_expression "sVar13 = strlen(pcVar12)" (identifier "sVar13") (= "=") (call_expression "strlen(pcVar12)" (identifier "strlen") (argument_list "(pcVar12)" (( "(") (identifier "pcVar12") () ")")))) (; ";")) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" (identifier "pvVar14") (= "=") (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024b20(sVar13 + 1)" (identifier "FUN_00024b20") (argument_list "(sVar13 + 1)" (( "(") (binary_expression "sVar13 + 1" (identifier "sVar13") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "memcpy(pvVar14,pcVar12,sVar13 + 1);" (call_expression "memcpy(pvVar14,pcVar12,sVar13 + 1)" (identifier "memcpy") (argument_list "(pvVar14,pcVar12,sVar13 + 1)" (( "(") (identifier "pvVar14") (, ",") (identifier "pcVar12") (, ",") (binary_expression "sVar13 + 1" (identifier "sVar13") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" (identifier "uVar27") (= "=") (binary_expression "uVar27 + 1" (identifier "uVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (DAT_0008896c <= uVar27) goto LAB_0001c228;" (if "if") (parenthesized_expression "(DAT_0008896c <= uVar27)" (( "(") (binary_expression "DAT_0008896c <= uVar27" (identifier "DAT_0008896c") (<= "<=") (identifier "uVar27")) () ")")) (goto_statement "goto LAB_0001c228;" (goto "goto") (statement_identifier "LAB_0001c228") (; ";"))) (} "}"))) (expression_statement "uVar8 = dcgettext(0,"unassigned file number %ld",5);" (assignment_expression "uVar8 = dcgettext(0,"unassigned file number %ld",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"unassigned file number %ld",5)" (identifier "dcgettext") (argument_list "(0,"unassigned file number %ld",5)" (( "(") (number_literal "0") (, ",") (string_literal ""unassigned file number %ld"" (" """) (string_content "unassigned file number %ld") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bd60(uVar8,uVar27);" (call_expression "FUN_0002bd60(uVar8,uVar27)" (identifier "FUN_0002bd60") (argument_list "(uVar8,uVar27)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar27") () ")"))) (; ";")) (expression_statement "*(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;" (assignment_expression "*(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05" (pointer_expression "*(undefined **)(DAT_00088970 + uVar27 * 8)" (* "*") (cast_expression "(undefined **)(DAT_00088970 + uVar27 * 8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_00088970 + uVar27 * 8)" (( "(") (binary_expression "DAT_00088970 + uVar27 * 8" (identifier "DAT_00088970") (+ "+") (binary_expression "uVar27 * 8" (identifier "uVar27") (* "*") (number_literal "8"))) () ")")))) (= "=") (pointer_expression "&DAT_0005db05" (& "&") (identifier "DAT_0005db05"))) (; ";")) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" (identifier "uVar27") (= "=") (binary_expression "uVar27 + 1" (identifier "uVar27") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar27 < DAT_0008896c)" (( "(") (binary_expression "uVar27 < DAT_0008896c" (identifier "uVar27") (< "<") (identifier "DAT_0008896c")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0001c228:\n  FUN_00024e20(0);" (statement_identifier "LAB_0001c228") (: ":") (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";"))) (expression_statement "FUN_0003b7e0(iVar11);" (call_expression "FUN_0003b7e0(iVar11)" (identifier "FUN_0003b7e0") (argument_list "(iVar11)" (( "(") (identifier "iVar11") () ")"))) (; ";")) (expression_statement "puVar4 = PTR__bfd_std_section_0007ffb0;" (assignment_expression "puVar4 = PTR__bfd_std_section_0007ffb0" (identifier "puVar4") (= "=") (identifier "PTR__bfd_std_section_0007ffb0")) (; ";")) (for_statement "for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }" (for "for") (( "(") (assignment_expression "piVar29 = DAT_00088978" (identifier "piVar29") (= "=") (identifier "DAT_00088978")) (; ";") (binary_expression "piVar29 != (int *)0x0" (identifier "piVar29") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "piVar29 = (int *)*piVar29" (identifier "piVar29") (= "=") (cast_expression "(int *)*piVar29" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar29" (* "*") (identifier "piVar29")))) () ")") (compound_statement "{\n    puVar26 = (undefined4 *)piVar29[1];\n    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }\n  }" ({ "{") (expression_statement "puVar26 = (undefined4 *)piVar29[1];" (assignment_expression "puVar26 = (undefined4 *)piVar29[1]" (identifier "puVar26") (= "=") (cast_expression "(undefined4 *)piVar29[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar29[1]" (identifier "piVar29") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }" (if "if") (parenthesized_expression "((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720))" (( "(") (binary_expression "(((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)" (parenthesized_expression "(((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec))" (( "(") (binary_expression "((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))\n        || (puVar26 == DAT_000897ec)" (parenthesized_expression "((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))" (( "(") (binary_expression "(puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180))" (parenthesized_expression "(puVar26 == (undefined4 *)(puVar4 + 0xc0))" (( "(") (binary_expression "puVar26 == (undefined4 *)(puVar4 + 0xc0)" (identifier "puVar26") (== "==") (cast_expression "(undefined4 *)(puVar4 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 0xc0)" (( "(") (binary_expression "puVar4 + 0xc0" (identifier "puVar4") (+ "+") (number_literal "0xc0")) () ")")))) () ")")) (|| "||") (parenthesized_expression "(puVar26 == (undefined4 *)(puVar4 + 0x180))" (( "(") (binary_expression "puVar26 == (undefined4 *)(puVar4 + 0x180)" (identifier "puVar26") (== "==") (cast_expression "(undefined4 *)(puVar4 + 0x180)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 0x180)" (( "(") (binary_expression "puVar4 + 0x180" (identifier "puVar4") (+ "+") (number_literal "0x180")) () ")")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(puVar26 == DAT_000897ec)" (( "(") (binary_expression "puVar26 == DAT_000897ec" (identifier "puVar26") (== "==") (identifier "DAT_000897ec")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(puVar26 == DAT_00089720)" (( "(") (binary_expression "puVar26 == DAT_00089720" (identifier "puVar26") (== "==") (identifier "DAT_00089720")) () ")"))) () ")")) (compound_statement "{\n      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);\n    }" ({ "{") (expression_statement "FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);" (call_expression "FUN_0002bc80("dwarf line number information for %s ignored",*puVar26)" (identifier "FUN_0002bc80") (argument_list "("dwarf line number information for %s ignored",*puVar26)" (( "(") (string_literal ""dwarf line number information for %s ignored"" (" """) (string_content "dwarf line number information for %s ignored") (" """)) (, ",") (pointer_expression "*puVar26" (* "*") (identifier "puVar26")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }" (else "else") (compound_statement "{\n      local_c4 = *(int **)(piVar29[2] + 8);\n      bVar32 = false;\n      bVar34 = DAT_000897f0 == 0;\n      if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar3 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);\n      iVar10 = *(int *)puVar26[0x20];\n      do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);\n      iVar10 = *(int *)(iVar11 + 4);\n      uVar37 = FUN_0001a6c0();\n      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }\n    }" ({ "{") (expression_statement "local_c4 = *(int **)(piVar29[2] + 8);" (assignment_expression "local_c4 = *(int **)(piVar29[2] + 8)" (identifier "local_c4") (= "=") (pointer_expression "*(int **)(piVar29[2] + 8)" (* "*") (cast_expression "(int **)(piVar29[2] + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar29[2] + 8)" (( "(") (binary_expression "piVar29[2] + 8" (subscript_expression "piVar29[2]" (identifier "piVar29") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "bVar32 = false;" (assignment_expression "bVar32 = false" (identifier "bVar32") (= "=") (false "false")) (; ";")) (expression_statement "bVar34 = DAT_000897f0 == 0;" (assignment_expression "bVar34 = DAT_000897f0 == 0" (identifier "bVar34") (= "=") (binary_expression "DAT_000897f0 == 0" (identifier "DAT_000897f0") (== "==") (number_literal "0"))) (; ";")) (if_statement "if (!bVar34) {\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }" (if "if") (parenthesized_expression "(!bVar34)" (( "(") (unary_expression "!bVar34" (! "!") (identifier "bVar34")) () ")")) (compound_statement "{\n        iVar10 = 6;\n        pbVar24 = (byte *)*puVar26;\n        pbVar28 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);\n        pcVar12 = ".debug_line";\n        if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_00036a60(pcVar12,0);\n        FUN_00036b80(uVar8,0);\n      }" ({ "{") (expression_statement "iVar10 = 6;" (assignment_expression "iVar10 = 6" (identifier "iVar10") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar24 = (byte *)*puVar26;" (assignment_expression "pbVar24 = (byte *)*puVar26" (identifier "pbVar24") (= "=") (cast_expression "(byte *)*puVar26" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar26" (* "*") (identifier "puVar26")))) (; ";")) (expression_statement "pbVar28 = (byte *)".text";" (assignment_expression "pbVar28 = (byte *)".text"" (identifier "pbVar28") (= "=") (cast_expression "(byte *)".text"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".text"" (" """) (string_content ".text") (" """)))) (; ";")) (do_statement "do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        } while (bVar34);" (do "do") (compound_statement "{\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar32 = *pbVar24 < *pbVar28;\n          bVar34 = *pbVar24 == *pbVar28;\n          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;\n          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar10 == 0) break;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + -1" (identifier "iVar10") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar32 = *pbVar24 < *pbVar28;" (assignment_expression "bVar32 = *pbVar24 < *pbVar28" (identifier "bVar32") (= "=") (binary_expression "*pbVar24 < *pbVar28" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (< "<") (pointer_expression "*pbVar28" (* "*") (identifier "pbVar28")))) (; ";")) (expression_statement "bVar34 = *pbVar24 == *pbVar28;" (assignment_expression "bVar34 = *pbVar24 == *pbVar28" (identifier "bVar34") (= "=") (binary_expression "*pbVar24 == *pbVar28" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (== "==") (pointer_expression "*pbVar28" (* "*") (identifier "pbVar28")))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar35 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar35")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1" (identifier "pbVar28") (= "=") (binary_expression "pbVar28 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar28 + (uint)bVar35 * -2" (identifier "pbVar28") (+ "+") (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar35")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar34)" (( "(") (identifier "bVar34") () ")")) (; ";")) (expression_statement "pcVar12 = ".debug_line";" (assignment_expression "pcVar12 = ".debug_line"" (identifier "pcVar12") (= "=") (string_literal "".debug_line"" (" """) (string_content ".debug_line") (" """))) (; ";")) (if_statement "if ((!bVar32 && !bVar34) != bVar32) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }" (if "if") (parenthesized_expression "((!bVar32 && !bVar34) != bVar32)" (( "(") (binary_expression "(!bVar32 && !bVar34) != bVar32" (parenthesized_expression "(!bVar32 && !bVar34)" (( "(") (binary_expression "!bVar32 && !bVar34" (unary_expression "!bVar32" (! "!") (identifier "bVar32")) (&& "&&") (unary_expression "!bVar34" (! "!") (identifier "bVar34"))) () ")")) (!= "!=") (identifier "bVar32")) () ")")) (compound_statement "{\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }" ({ "{") (expression_statement "pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);" (assignment_expression "pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0)" (identifier "pcVar12") (= "=") (cast_expression "(char *)concat(".debug_line",(byte *)*puVar26,0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "concat(".debug_line",(byte *)*puVar26,0)" (identifier "concat") (argument_list "(".debug_line",(byte *)*puVar26,0)" (( "(") (string_literal "".debug_line"" (" """) (string_content ".debug_line") (" """)) (, ",") (cast_expression "(byte *)*puVar26" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar26" (* "*") (identifier "puVar26"))) (, ",") (number_literal "0") () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar8 = FUN_00036a60(pcVar12,0);" (assignment_expression "uVar8 = FUN_00036a60(pcVar12,0)" (identifier "uVar8") (= "=") (call_expression "FUN_00036a60(pcVar12,0)" (identifier "FUN_00036a60") (argument_list "(pcVar12,0)" (( "(") (identifier "pcVar12") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_00036b80(uVar8,0);" (call_expression "FUN_00036b80(uVar8,0)" (identifier "FUN_00036b80") (argument_list "(uVar8,0)" (( "(") (identifier "uVar8") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" (identifier "local_d0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_100 = 1;" (assignment_expression "local_100 = 1" (identifier "local_100") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_e8 = 1;" (assignment_expression "local_e8 = 1" (identifier "local_e8") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar3 = 0;" (assignment_expression "lVar3 = 0" (identifier "lVar3") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      } while (piVar1 != (int *)0x0);" (do "do") (compound_statement "{\n        local_108 = (int)((ulonglong)lVar3 >> 0x20);\n        local_10c = (uint)lVar3;\n        iVar2 = local_c4[2];\n        if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar30 = local_c4[4];\n        if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }\n        iVar21 = local_c4[5];\n        if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }\n        uVar27 = local_c4[6];\n        uVar17 = uVar27;\n        if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }\n        if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }\n        if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }\n        uVar27 = local_c4[1];\n        iVar15 = FUN_0003b830(uVar27);\n        lVar36 = FUN_0003a3c0(uVar27);\n        if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar30;\n        iVar11 = iVar21;\n        local_e8 = iVar2;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar3 = lVar36;\n      }" ({ "{") (expression_statement "local_108 = (int)((ulonglong)lVar3 >> 0x20);" (assignment_expression "local_108 = (int)((ulonglong)lVar3 >> 0x20)" (identifier "local_108") (= "=") (cast_expression "(int)((ulonglong)lVar3 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar3 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar3")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_10c = (uint)lVar3;" (assignment_expression "local_10c = (uint)lVar3" (identifier "local_10c") (= "=") (cast_expression "(uint)lVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar3"))) (; ";")) (expression_statement "iVar2 = local_c4[2];" (assignment_expression "iVar2 = local_c4[2]" (identifier "iVar2") (= "=") (subscript_expression "local_c4[2]" (identifier "local_c4") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (iVar2 != local_e8) {\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }" (if "if") (parenthesized_expression "(iVar2 != local_e8)" (( "(") (binary_expression "iVar2 != local_e8" (identifier "iVar2") (!= "!=") (identifier "local_e8")) () ")")) (compound_statement "{\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }" ({ "{") (expression_statement "FUN_00024e20(4);" (call_expression "FUN_00024e20(4)" (identifier "FUN_00024e20") (argument_list "(4)" (( "(") (number_literal "4") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar30 = local_c4[4];" (assignment_expression "iVar30 = local_c4[4]" (identifier "iVar30") (= "=") (subscript_expression "local_c4[4]" (identifier "local_c4") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if (iVar30 != iVar10) {\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }" (if "if") (parenthesized_expression "(iVar30 != iVar10)" (( "(") (binary_expression "iVar30 != iVar10" (identifier "iVar30") (!= "!=") (identifier "iVar10")) () ")")) (compound_statement "{\n          FUN_00024e20(5);\n          FUN_0001a680();\n        }" ({ "{") (expression_statement "FUN_00024e20(5);" (call_expression "FUN_00024e20(5)" (identifier "FUN_00024e20") (argument_list "(5)" (( "(") (number_literal "5") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_c4[7] != 0) {\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }" (if "if") (parenthesized_expression "(local_c4[7] != 0)" (( "(") (binary_expression "local_c4[7] != 0" (subscript_expression "local_c4[7]" (identifier "local_c4") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00024e20(0);\n          iVar10 = FUN_00031e30(local_c4[7],0,0);\n          uVar8 = FUN_00031e30(iVar10 + 1,0,1);\n          uVar8 = FUN_00024b20(uVar8);\n          FUN_00031e70(uVar8,iVar10 + 1,0,1);\n          FUN_00024e20(4);\n          FUN_0001a680();\n        }" ({ "{") (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar10 = FUN_00031e30(local_c4[7],0,0);" (assignment_expression "iVar10 = FUN_00031e30(local_c4[7],0,0)" (identifier "iVar10") (= "=") (call_expression "FUN_00031e30(local_c4[7],0,0)" (identifier "FUN_00031e30") (argument_list "(local_c4[7],0,0)" (( "(") (subscript_expression "local_c4[7]" (identifier "local_c4") ([ "[") (number_literal "7") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar8 = FUN_00031e30(iVar10 + 1,0,1);" (assignment_expression "uVar8 = FUN_00031e30(iVar10 + 1,0,1)" (identifier "uVar8") (= "=") (call_expression "FUN_00031e30(iVar10 + 1,0,1)" (identifier "FUN_00031e30") (argument_list "(iVar10 + 1,0,1)" (( "(") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1")) (, ",") (number_literal "0") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "uVar8 = FUN_00024b20(uVar8);" (assignment_expression "uVar8 = FUN_00024b20(uVar8)" (identifier "uVar8") (= "=") (call_expression "FUN_00024b20(uVar8)" (identifier "FUN_00024b20") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "FUN_00031e70(uVar8,iVar10 + 1,0,1);" (call_expression "FUN_00031e70(uVar8,iVar10 + 1,0,1)" (identifier "FUN_00031e70") (argument_list "(uVar8,iVar10 + 1,0,1)" (( "(") (identifier "uVar8") (, ",") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1")) (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024e20(4);" (call_expression "FUN_00024e20(4)" (identifier "FUN_00024e20") (argument_list "(4)" (( "(") (number_literal "4") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar21 = local_c4[5];" (assignment_expression "iVar21 = local_c4[5]" (identifier "iVar21") (= "=") (subscript_expression "local_c4[5]" (identifier "local_c4") ([ "[") (number_literal "5") (] "]"))) (; ";")) (if_statement "if (iVar21 != iVar11) {\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }" (if "if") (parenthesized_expression "(iVar21 != iVar11)" (( "(") (binary_expression "iVar21 != iVar11" (identifier "iVar21") (!= "!=") (identifier "iVar11")) () ")")) (compound_statement "{\n          FUN_00024e20(0xc);\n          FUN_0001a680();\n        }" ({ "{") (expression_statement "FUN_00024e20(0xc);" (call_expression "FUN_00024e20(0xc)" (identifier "FUN_00024e20") (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar27 = local_c4[6];" (assignment_expression "uVar27 = local_c4[6]" (identifier "uVar27") (= "=") (subscript_expression "local_c4[6]" (identifier "local_c4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar17 = uVar27;" (assignment_expression "uVar17 = uVar27" (identifier "uVar17") (= "=") (identifier "uVar27")) (; ";")) (if_statement "if (((local_100 ^ uVar27) & 1) != 0) {\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }" (if "if") (parenthesized_expression "(((local_100 ^ uVar27) & 1) != 0)" (( "(") (binary_expression "((local_100 ^ uVar27) & 1) != 0" (parenthesized_expression "((local_100 ^ uVar27) & 1)" (( "(") (binary_expression "(local_100 ^ uVar27) & 1" (parenthesized_expression "(local_100 ^ uVar27)" (( "(") (binary_expression "local_100 ^ uVar27" (identifier "local_100") (^ "^") (identifier "uVar27")) () ")")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00024e20(6);\n          uVar17 = local_c4[6];\n          local_100 = uVar27;\n        }" ({ "{") (expression_statement "FUN_00024e20(6);" (call_expression "FUN_00024e20(6)" (identifier "FUN_00024e20") (argument_list "(6)" (( "(") (number_literal "6") () ")"))) (; ";")) (expression_statement "uVar17 = local_c4[6];" (assignment_expression "uVar17 = local_c4[6]" (identifier "uVar17") (= "=") (subscript_expression "local_c4[6]" (identifier "local_c4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "local_100 = uVar27;" (assignment_expression "local_100 = uVar27" (identifier "local_100") (= "=") (identifier "uVar27")) (; ";")) (} "}"))) (if_statement "if ((uVar17 & 2) != 0) {\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }" (if "if") (parenthesized_expression "((uVar17 & 2) != 0)" (( "(") (binary_expression "(uVar17 & 2) != 0" (parenthesized_expression "(uVar17 & 2)" (( "(") (binary_expression "uVar17 & 2" (identifier "uVar17") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00024e20(7);\n          uVar17 = local_c4[6];\n        }" ({ "{") (expression_statement "FUN_00024e20(7);" (call_expression "FUN_00024e20(7)" (identifier "FUN_00024e20") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "uVar17 = local_c4[6];" (assignment_expression "uVar17 = local_c4[6]" (identifier "uVar17") (= "=") (subscript_expression "local_c4[6]" (identifier "local_c4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}"))) (if_statement "if ((uVar17 & 4) != 0) {\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }" (if "if") (parenthesized_expression "((uVar17 & 4) != 0)" (( "(") (binary_expression "(uVar17 & 4) != 0" (parenthesized_expression "(uVar17 & 4)" (( "(") (binary_expression "uVar17 & 4" (identifier "uVar17") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00024e20(10);\n          uVar17 = local_c4[6];\n        }" ({ "{") (expression_statement "FUN_00024e20(10);" (call_expression "FUN_00024e20(10)" (identifier "FUN_00024e20") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (expression_statement "uVar17 = local_c4[6];" (assignment_expression "uVar17 = local_c4[6]" (identifier "uVar17") (= "=") (subscript_expression "local_c4[6]" (identifier "local_c4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}"))) (if_statement "if ((uVar17 & 8) != 0) {\n          FUN_00024e20(0xb);\n        }" (if "if") (parenthesized_expression "((uVar17 & 8) != 0)" (( "(") (binary_expression "(uVar17 & 8) != 0" (parenthesized_expression "(uVar17 & 8)" (( "(") (binary_expression "uVar17 & 8" (identifier "uVar17") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00024e20(0xb);\n        }" ({ "{") (expression_statement "FUN_00024e20(0xb);" (call_expression "FUN_00024e20(0xb)" (identifier "FUN_00024e20") (argument_list "(0xb)" (( "(") (number_literal "0xb") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar27 = local_c4[1];" (assignment_expression "uVar27 = local_c4[1]" (identifier "uVar27") (= "=") (subscript_expression "local_c4[1]" (identifier "local_c4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar15 = FUN_0003b830(uVar27);" (assignment_expression "iVar15 = FUN_0003b830(uVar27)" (identifier "iVar15") (= "=") (call_expression "FUN_0003b830(uVar27)" (identifier "FUN_0003b830") (argument_list "(uVar27)" (( "(") (identifier "uVar27") () ")")))) (; ";")) (expression_statement "lVar36 = FUN_0003a3c0(uVar27);" (assignment_expression "lVar36 = FUN_0003a3c0(uVar27)" (identifier "lVar36") (= "=") (call_expression "FUN_0003a3c0(uVar27)" (identifier "FUN_0003a3c0") (argument_list "(uVar27)" (( "(") (identifier "uVar27") () ")")))) (; ";")) (if_statement "if (local_d0 == 0) {\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }\n        else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }" (if "if") (parenthesized_expression "(local_d0 == 0)" (( "(") (binary_expression "local_d0 == 0" (identifier "local_d0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001d140:\n          FUN_00024e20(0);\n          FUN_0001a680();\n          FUN_00024e20(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar27;\n          FUN_00031660(local_9c,DAT_00088950);\n          FUN_0001ade0();\n        }" ({ "{") (labeled_statement "LAB_0001d140:\n          FUN_00024e20(0);" (statement_identifier "LAB_0001d140") (: ":") (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";"))) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00024e20(2);" (call_expression "FUN_00024e20(2)" (identifier "FUN_00024e20") (argument_list "(2)" (( "(") (number_literal "2") () ")"))) (; ";")) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" (identifier "local_8c") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[0] = uVar27;" (assignment_expression "local_9c[0] = uVar27" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar27")) (; ";")) (expression_statement "FUN_00031660(local_9c,DAT_00088950);" (call_expression "FUN_00031660(local_9c,DAT_00088950)" (identifier "FUN_00031660") (argument_list "(local_9c,DAT_00088950)" (( "(") (identifier "local_9c") (, ",") (identifier "DAT_00088950") () ")"))) (; ";")) (expression_statement "FUN_0001ade0();" (call_expression "FUN_0001ade0()" (identifier "FUN_0001ade0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }" (else "else") (compound_statement "{\n          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }\n        }" ({ "{") (if_statement "if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }" (if "if") (parenthesized_expression "((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0))" (( "(") (binary_expression "(local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)" (parenthesized_expression "(local_c4[8] == DAT_00088958)" (( "(") (binary_expression "local_c4[8] == DAT_00088958" (subscript_expression "local_c4[8]" (identifier "local_c4") ([ "[") (number_literal "8") (] "]")) (== "==") (identifier "DAT_00088958")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00088958 != 0)" (( "(") (binary_expression "DAT_00088958 != 0" (identifier "DAT_00088958") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;\n            goto LAB_0001d140;\n          }" ({ "{") (if_statement "if (iVar15 == local_d0) {\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }\n            else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;" (if "if") (parenthesized_expression "(iVar15 == local_d0)" (( "(") (binary_expression "iVar15 == local_d0" (identifier "iVar15") (== "==") (identifier "local_d0")) () ")")) (compound_statement "{\n              if (lVar36 != lVar3) goto LAB_0001c468;\n            }" ({ "{") (if_statement "if (lVar36 != lVar3) goto LAB_0001c468;" (if "if") (parenthesized_expression "(lVar36 != lVar3)" (( "(") (binary_expression "lVar36 != lVar3" (identifier "lVar36") (!= "!=") (identifier "lVar3")) () ")")) (goto_statement "goto LAB_0001c468;" (goto "goto") (statement_identifier "LAB_0001c468") (; ";"))) (} "}")) (else_clause "else if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;" (else "else") (if_statement "if ((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;" (if "if") (parenthesized_expression "((lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0))" (( "(") (binary_expression "(lVar36 != 0) ||\n                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)" (parenthesized_expression "(lVar36 != 0)" (( "(") (binary_expression "lVar36 != 0" (identifier "lVar36") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0)" (( "(") (comma_expression "uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (assignment_expression "uVar37 = FUN_0001a6c0()" (identifier "uVar37") (= "=") (call_expression "FUN_0001a6c0()" (identifier "FUN_0001a6c0") (argument_list "()" (( "(") () ")")))) (, ",") (comma_expression "iVar11 = (int)((ulonglong)uVar37 >> 0x20),\n                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (assignment_expression "iVar11 = (int)((ulonglong)uVar37 >> 0x20)" (identifier "iVar11") (= "=") (cast_expression "(int)((ulonglong)uVar37 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar37 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar37 >> 0x20" (cast_expression "(ulonglong)uVar37" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar37")) (>> ">>") (number_literal "0x20")) () ")")))) (, ",") (comma_expression "uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (assignment_expression "uVar17 = (uint)(local_10c < (uint)uVar37)" (identifier "uVar17") (= "=") (call_expression "(uint)(local_10c < (uint)uVar37)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_10c < (uint)uVar37)" (( "(") (binary_expression "local_10c < (uint)uVar37" (identifier "local_10c") (< "<") (cast_expression "(uint)uVar37" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar37"))) () ")")))) (, ",") (comma_expression "iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (assignment_expression "iVar10 = local_108 - iVar11" (identifier "iVar10") (= "=") (binary_expression "local_108 - iVar11" (identifier "local_108") (- "-") (identifier "iVar11"))) (, ",") (binary_expression "(SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=\n                    (int)(iVar10 - uVar17) < 0" (parenthesized_expression "(SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17))" (( "(") (binary_expression "SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)" (call_expression "SBORROW4(local_108,iVar11)" (identifier "SBORROW4") (argument_list "(local_108,iVar11)" (( "(") (identifier "local_108") (, ",") (identifier "iVar11") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar10,uVar17)" (identifier "SBORROW4") (argument_list "(iVar10,uVar17)" (( "(") (identifier "iVar10") (, ",") (identifier "uVar17") () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar10 - uVar17) < 0" (cast_expression "(int)(iVar10 - uVar17)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar10 - uVar17)" (( "(") (binary_expression "iVar10 - uVar17" (identifier "iVar10") (- "-") (identifier "uVar17")) () ")"))) (< "<") (number_literal "0"))))))) () ")"))) () ")")) (goto_statement "goto LAB_0001c478;" (goto "goto") (statement_identifier "LAB_0001c478") (; ";"))))) (goto_statement "goto LAB_0001d140;" (goto "goto") (statement_identifier "LAB_0001d140") (; ";")) (} "}"))) (if_statement "if (iVar15 == local_d0) {\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }\n          else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }" (if "if") (parenthesized_expression "(iVar15 == local_d0)" (( "(") (binary_expression "iVar15 == local_d0" (identifier "iVar15") (== "==") (identifier "local_d0")) () ")")) (compound_statement "{\nLAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;\n            FUN_0001ade0();\n          }" ({ "{") (labeled_statement "LAB_0001c468:\n            if (DAT_00089740 != 0) goto LAB_0001c478;" (statement_identifier "LAB_0001c468") (: ":") (if_statement "if (DAT_00089740 != 0) goto LAB_0001c478;" (if "if") (parenthesized_expression "(DAT_00089740 != 0)" (( "(") (binary_expression "DAT_00089740 != 0" (identifier "DAT_00089740") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001c478;" (goto "goto") (statement_identifier "LAB_0001c478") (; ";")))) (expression_statement "FUN_0001ade0();" (call_expression "FUN_0001ade0()" (identifier "FUN_0001ade0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\nLAB_0001c478:\n            FUN_0001ae30();\n          }" (else "else") (compound_statement "{\nLAB_0001c478:\n            FUN_0001ae30();\n          }" ({ "{") (labeled_statement "LAB_0001c478:\n            FUN_0001ae30();" (statement_identifier "LAB_0001c478") (: ":") (expression_statement "FUN_0001ae30();" (call_expression "FUN_0001ae30()" (identifier "FUN_0001ae30") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}")))) (} "}")))) (expression_statement "piVar1 = (int *)*local_c4;" (assignment_expression "piVar1 = (int *)*local_c4" (identifier "piVar1") (= "=") (cast_expression "(int *)*local_c4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")))) (; ";")) (expression_statement "free(local_c4);" (call_expression "free(local_c4)" (identifier "free") (argument_list "(local_c4)" (( "(") (identifier "local_c4") () ")"))) (; ";")) (expression_statement "iVar10 = iVar30;" (assignment_expression "iVar10 = iVar30" (identifier "iVar10") (= "=") (identifier "iVar30")) (; ";")) (expression_statement "iVar11 = iVar21;" (assignment_expression "iVar11 = iVar21" (identifier "iVar11") (= "=") (identifier "iVar21")) (; ";")) (expression_statement "local_e8 = iVar2;" (assignment_expression "local_e8 = iVar2" (identifier "local_e8") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "local_d0 = iVar15;" (assignment_expression "local_d0 = iVar15" (identifier "local_d0") (= "=") (identifier "iVar15")) (; ";")) (expression_statement "local_c4 = piVar1;" (assignment_expression "local_c4 = piVar1" (identifier "local_c4") (= "=") (identifier "piVar1")) (; ";")) (expression_statement "lVar3 = lVar36;" (assignment_expression "lVar3 = lVar36" (identifier "lVar3") (= "=") (identifier "lVar36")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar1 != (int *)0x0)" (( "(") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "iVar10 = *(int *)puVar26[0x20];" (assignment_expression "iVar10 = *(int *)puVar26[0x20]" (identifier "iVar10") (= "=") (pointer_expression "*(int *)puVar26[0x20]" (* "*") (cast_expression "(int *)puVar26[0x20]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar26[0x20]" (identifier "puVar26") ([ "[") (number_literal "0x20") (] "]"))))) (; ";")) (do_statement "do {\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      } while (iVar10 != 0);" (do "do") (compound_statement "{\n        iVar11 = iVar10;\n        iVar10 = *(int *)(iVar11 + 8);\n      }" ({ "{") (expression_statement "iVar11 = iVar10;" (assignment_expression "iVar11 = iVar10" (identifier "iVar11") (= "=") (identifier "iVar10")) (; ";")) (expression_statement "iVar10 = *(int *)(iVar11 + 8);" (assignment_expression "iVar10 = *(int *)(iVar11 + 8)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar11 + 8)" (* "*") (cast_expression "(int *)(iVar11 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 8)" (( "(") (binary_expression "iVar11 + 8" (identifier "iVar11") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "iVar10 = *(int *)(iVar11 + 4);" (assignment_expression "iVar10 = *(int *)(iVar11 + 4)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar11 + 4)" (* "*") (cast_expression "(int *)(iVar11 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 4)" (( "(") (binary_expression "iVar11 + 4" (identifier "iVar11") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar37 = FUN_0001a6c0();" (assignment_expression "uVar37 = FUN_0001a6c0()" (identifier "uVar37") (= "=") (call_expression "FUN_0001a6c0()" (identifier "FUN_0001a6c0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {\n        FUN_0001ade0();\n      }\n      else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }" (if "if") (parenthesized_expression "((iVar15 == iVar10) && (DAT_00089740 == 0))" (( "(") (binary_expression "(iVar15 == iVar10) && (DAT_00089740 == 0)" (parenthesized_expression "(iVar15 == iVar10)" (( "(") (binary_expression "iVar15 == iVar10" (identifier "iVar15") (== "==") (identifier "iVar10")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00089740 == 0)" (( "(") (binary_expression "DAT_00089740 == 0" (identifier "DAT_00089740") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        FUN_0001ade0();\n      }" ({ "{") (expression_statement "FUN_0001ade0();" (call_expression "FUN_0001ade0()" (identifier "FUN_0001ade0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }" (else "else") (compound_statement "{\n        FUN_00038f40(puVar26,uVar37,iVar10);\n        FUN_0001ae30();\n      }" ({ "{") (expression_statement "FUN_00038f40(puVar26,uVar37,iVar10);" (call_expression "FUN_00038f40(puVar26,uVar37,iVar10)" (identifier "FUN_00038f40") (argument_list "(puVar26,uVar37,iVar10)" (( "(") (identifier "puVar26") (, ",") (identifier "uVar37") (, ",") (identifier "iVar10") () ")"))) (; ";")) (expression_statement "FUN_0001ae30();" (call_expression "FUN_0001ae30()" (identifier "FUN_0001ae30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}"))) (if_statement "if (DAT_000897f0 != 0) {\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }" (if "if") (parenthesized_expression "(DAT_000897f0 != 0)" (( "(") (binary_expression "DAT_000897f0 != 0" (identifier "DAT_000897f0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar8 = FUN_00036a60(".debug_line_end",0);\n    FUN_00036b80(uVar8,0);\n  }" ({ "{") (expression_statement "uVar8 = FUN_00036a60(".debug_line_end",0);" (assignment_expression "uVar8 = FUN_00036a60(".debug_line_end",0)" (identifier "uVar8") (= "=") (call_expression "FUN_00036a60(".debug_line_end",0)" (identifier "FUN_00036a60") (argument_list "(".debug_line_end",0)" (( "(") (string_literal "".debug_line_end"" (" """) (string_content ".debug_line_end") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_00036b80(uVar8,0);" (call_expression "FUN_00036b80(uVar8,0)" (identifier "FUN_00036b80") (argument_list "(uVar8,0)" (( "(") (identifier "uVar8") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0003b7e0(iVar6);" (call_expression "FUN_0003b7e0(iVar6)" (identifier "FUN_0003b7e0") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (if_statement "if (!bVar33) {\n    return;\n  }" (if "if") (parenthesized_expression "(!bVar33)" (( "(") (unary_expression "!bVar33" (! "!") (identifier "bVar33")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (DAT_00088978 == (int *)0x0) {\n                    \n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }" (if "if") (parenthesized_expression "(DAT_00088978 == (int *)0x0)" (( "(") (binary_expression "DAT_00088978 == (int *)0x0" (identifier "DAT_00088978") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }" ({ "{") (expression_statement "FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);" (call_expression "FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX)" (identifier "FUN_0002be80") (argument_list "("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX)" (( "(") (string_literal ""../../gas/dwarf2dbg.c"" (" """) (string_content "../../gas/dwarf2dbg.c") (" """)) (, ",") (number_literal "0x89e") (, ",") (string_literal ""dwarf2_finish"" (" """) (string_content "dwarf2_finish") (" """)) (, ",") (identifier "extraout_ECX") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar8 = FUN_00036b20(".debug_info",0);" (assignment_expression "uVar8 = FUN_00036b20(".debug_info",0)" (identifier "uVar8") (= "=") (call_expression "FUN_00036b20(".debug_info",0)" (identifier "FUN_00036b20") (argument_list "(".debug_info",0)" (( "(") (string_literal "".debug_info"" (" """) (string_content ".debug_info") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar9 = FUN_00036b20(".debug_abbrev",0);" (assignment_expression "uVar9 = FUN_00036b20(".debug_abbrev",0)" (identifier "uVar9") (= "=") (call_expression "FUN_00036b20(".debug_abbrev",0)" (identifier "FUN_00036b20") (argument_list "(".debug_abbrev",0)" (( "(") (string_literal "".debug_abbrev"" (" """) (string_content ".debug_abbrev") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar16 = FUN_00036b20(".debug_aranges",0);" (assignment_expression "uVar16 = FUN_00036b20(".debug_aranges",0)" (identifier "uVar16") (= "=") (call_expression "FUN_00036b20(".debug_aranges",0)" (identifier "FUN_00036b20") (argument_list "(".debug_aranges",0)" (( "(") (string_literal "".debug_aranges"" (" """) (string_content ".debug_aranges") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar10 = FUN_00036b20(".debug_str",0);" (assignment_expression "iVar10 = FUN_00036b20(".debug_str",0)" (identifier "iVar10") (= "=") (call_expression "FUN_00036b20(".debug_str",0)" (identifier "FUN_00036b20") (argument_list "(".debug_str",0)" (( "(") (string_literal "".debug_str"" (" """) (string_content ".debug_str") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "bfd_set_section_flags(DAT_00089944,uVar8,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,uVar8,0x2008)" (identifier "bfd_set_section_flags") (argument_list "(DAT_00089944,uVar8,0x2008)" (( "(") (identifier "DAT_00089944") (, ",") (identifier "uVar8") (, ",") (number_literal "0x2008") () ")"))) (; ";")) (expression_statement "bfd_set_section_flags(DAT_00089944,uVar9,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,uVar9,0x2008)" (identifier "bfd_set_section_flags") (argument_list "(DAT_00089944,uVar9,0x2008)" (( "(") (identifier "DAT_00089944") (, ",") (identifier "uVar9") (, ",") (number_literal "0x2008") () ")"))) (; ";")) (expression_statement "bfd_set_section_flags(DAT_00089944,uVar16,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,uVar16,0x2008)" (identifier "bfd_set_section_flags") (argument_list "(DAT_00089944,uVar16,0x2008)" (( "(") (identifier "DAT_00089944") (, ",") (identifier "uVar16") (, ",") (number_literal "0x2008") () ")"))) (; ";")) (expression_statement "bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);" (call_expression "bfd_set_section_flags(DAT_00089944,iVar10,0x1802008)" (identifier "bfd_set_section_flags") (argument_list "(DAT_00089944,iVar10,0x1802008)" (( "(") (identifier "DAT_00089944") (, ",") (identifier "iVar10") (, ",") (number_literal "0x1802008") () ")"))) (; ";")) (expression_statement "iVar6 = DAT_00088950;" (assignment_expression "iVar6 = DAT_00088950" (identifier "iVar6") (= "=") (identifier "DAT_00088950")) (; ";")) (expression_statement "*(undefined4 *)(iVar10 + 0x90) = 1;" (assignment_expression "*(undefined4 *)(iVar10 + 0x90) = 1" (pointer_expression "*(undefined4 *)(iVar10 + 0x90)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x90)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x90)" (( "(") (binary_expression "iVar10 + 0x90" (identifier "iVar10") (+ "+") (number_literal "0x90")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar27 = iVar6 * 2;" (assignment_expression "uVar27 = iVar6 * 2" (identifier "uVar27") (= "=") (binary_expression "iVar6 * 2" (identifier "iVar6") (* "*") (number_literal "2"))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }" (if "if") (parenthesized_expression "(uVar27 != 0)" (( "(") (binary_expression "uVar27 != 0" (identifier "uVar27") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }" ({ "{") (for_statement "for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }" (for "for") (( "(") (; ";") (binary_expression "(uVar27 >> iVar6 & 1) == 0" (parenthesized_expression "(uVar27 >> iVar6 & 1)" (( "(") (binary_expression "uVar27 >> iVar6 & 1" (binary_expression "uVar27 >> iVar6" (identifier "uVar27") (>> ">>") (identifier "iVar6")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) (; ";") (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n    }" ({ "{") (} "}"))) (} "}"))) (if_statement "if (uVar27 == 0) {\n    iVar6 = -1;\n  }" (if "if") (parenthesized_expression "(uVar27 == 0)" (( "(") (binary_expression "uVar27 == 0" (identifier "uVar27") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar6 = -1;\n  }" ({ "{") (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" (identifier "iVar6") (= "=") (number_literal "-1")) (; ";")) (} "}"))) (expression_statement "FUN_0003f680(uVar16,iVar6);" (call_expression "FUN_0003f680(uVar16,iVar6)" (identifier "FUN_0003f680") (argument_list "(uVar16,iVar6)" (( "(") (identifier "uVar16") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "local_ec = *DAT_00088978;" (assignment_expression "local_ec = *DAT_00088978" (identifier "local_ec") (= "=") (pointer_expression "*DAT_00088978" (* "*") (identifier "DAT_00088978"))) (; ";")) (if_statement "if (local_ec == 0) goto LAB_0001c984;" (if "if") (parenthesized_expression "(local_ec == 0)" (( "(") (binary_expression "local_ec == 0" (identifier "local_ec") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001c984;" (goto "goto") (statement_identifier "LAB_0001c984") (; ";"))) (expression_statement "local_ec = FUN_00036b20(".debug_ranges",0);" (assignment_expression "local_ec = FUN_00036b20(".debug_ranges",0)" (identifier "local_ec") (= "=") (call_expression "FUN_00036b20(".debug_ranges",0)" (identifier "FUN_00036b20") (argument_list "(".debug_ranges",0)" (( "(") (string_literal "".debug_ranges"" (" """) (string_content ".debug_ranges") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "bfd_set_section_flags(DAT_00089944,local_ec,0x2008);" (call_expression "bfd_set_section_flags(DAT_00089944,local_ec,0x2008)" (identifier "bfd_set_section_flags") (argument_list "(DAT_00089944,local_ec,0x2008)" (( "(") (identifier "DAT_00089944") (, ",") (identifier "local_ec") (, ",") (number_literal "0x2008") () ")"))) (; ";")) (expression_statement "uVar27 = DAT_00088950 * 2;" (assignment_expression "uVar27 = DAT_00088950 * 2" (identifier "uVar27") (= "=") (binary_expression "DAT_00088950 * 2" (identifier "DAT_00088950") (* "*") (number_literal "2"))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar27 != 0) {\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }" (if "if") (parenthesized_expression "(uVar27 != 0)" (( "(") (binary_expression "uVar27 != 0" (identifier "uVar27") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }\n  }" ({ "{") (for_statement "for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {\n    }" (for "for") (( "(") (; ";") (binary_expression "(uVar27 >> iVar6 & 1) == 0" (parenthesized_expression "(uVar27 >> iVar6 & 1)" (( "(") (binary_expression "uVar27 >> iVar6 & 1" (binary_expression "uVar27 >> iVar6" (identifier "uVar27") (>> ">>") (identifier "iVar6")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) (; ";") (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n    }" ({ "{") (} "}"))) (} "}"))) (if_statement "if (uVar27 == 0) {\n    iVar6 = -1;\n  }" (if "if") (parenthesized_expression "(uVar27 == 0)" (( "(") (binary_expression "uVar27 == 0" (identifier "uVar27") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar6 = -1;\n  }" ({ "{") (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" (identifier "iVar6") (= "=") (number_literal "-1")) (; ";")) (} "}"))) (expression_statement "FUN_0003f680(local_ec,iVar6);" (call_expression "FUN_0003f680(local_ec,iVar6)" (identifier "FUN_0003f680") (argument_list "(local_ec,iVar6)" (( "(") (identifier "local_ec") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "iVar6 = DAT_00088950;" (assignment_expression "iVar6 = DAT_00088950" (identifier "iVar6") (= "=") (identifier "DAT_00088950")) (; ";")) (expression_statement "FUN_00036b80(local_ec,0);" (call_expression "FUN_00036b80(local_ec,0)" (identifier "FUN_00036b80") (argument_list "(local_ec,0)" (( "(") (identifier "local_ec") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (iVar6 == 0) {\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }\n  else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;\nLAB_0001c840:\n    piVar29 = DAT_00088978;\n    do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);\n    if (iVar6 == 0) goto LAB_0001c984;\n  }" ({ "{") (if_statement "if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;" (if "if") (parenthesized_expression "(DAT_00088978 == (int *)0x0)" (( "(") (binary_expression "DAT_00088978 == (int *)0x0" (identifier "DAT_00088978") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001c984;" (goto "goto") (statement_identifier "LAB_0001c984") (; ";"))) (labeled_statement "LAB_0001c840:\n    piVar29 = DAT_00088978;" (statement_identifier "LAB_0001c840") (: ":") (expression_statement "piVar29 = DAT_00088978;" (assignment_expression "piVar29 = DAT_00088978" (identifier "piVar29") (= "=") (identifier "DAT_00088978")) (; ";"))) (do_statement "do {\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    } while (piVar29 != (int *)0x0);" (do "do") (compound_statement "{\n      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n      iVar11 = piVar29[1];\n      piVar29[3] = uVar27;\n      iVar2 = **(int **)(iVar11 + 0x80);\n      do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);\n      uVar16 = *(undefined4 *)(iVar30 + 4);\n      uVar37 = FUN_0001a6c0();\n      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);\n      piVar29[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar27;\n      FUN_00031660(local_9c,iVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_00031660(local_9c,iVar6);\n      piVar29 = (int *)*piVar29;\n    }" ({ "{") (expression_statement "uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));" (assignment_expression "uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" (identifier "uVar27") (= "=") (call_expression "FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" (identifier "FUN_00038f40") (argument_list "(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" (( "(") (subscript_expression "piVar29[1]" (identifier "piVar29") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80)" (* "*") (cast_expression "(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(piVar29[1] + 0x80)" (* "*") (pointer_expression "*(undefined4 **)(piVar29[1] + 0x80)" (* "*") (cast_expression "(undefined4 **)(piVar29[1] + 0x80)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar29[1] + 0x80)" (( "(") (binary_expression "piVar29[1] + 0x80" (subscript_expression "piVar29[1]" (identifier "piVar29") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x80")) () ")"))))))) () ")")))) (; ";")) (expression_statement "iVar11 = piVar29[1];" (assignment_expression "iVar11 = piVar29[1]" (identifier "iVar11") (= "=") (subscript_expression "piVar29[1]" (identifier "piVar29") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar29[3] = uVar27;" (assignment_expression "piVar29[3] = uVar27" (subscript_expression "piVar29[3]" (identifier "piVar29") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar27")) (; ";")) (expression_statement "iVar2 = **(int **)(iVar11 + 0x80);" (assignment_expression "iVar2 = **(int **)(iVar11 + 0x80)" (identifier "iVar2") (= "=") (pointer_expression "**(int **)(iVar11 + 0x80)" (* "*") (pointer_expression "*(int **)(iVar11 + 0x80)" (* "*") (cast_expression "(int **)(iVar11 + 0x80)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x80)" (( "(") (binary_expression "iVar11 + 0x80" (identifier "iVar11") (+ "+") (number_literal "0x80")) () ")")))))) (; ";")) (do_statement "do {\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      } while (iVar2 != 0);" (do "do") (compound_statement "{\n        iVar30 = iVar2;\n        iVar2 = *(int *)(iVar30 + 8);\n      }" ({ "{") (expression_statement "iVar30 = iVar2;" (assignment_expression "iVar30 = iVar2" (identifier "iVar30") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "iVar2 = *(int *)(iVar30 + 8);" (assignment_expression "iVar2 = *(int *)(iVar30 + 8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar30 + 8)" (* "*") (cast_expression "(int *)(iVar30 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar30 + 8)" (( "(") (binary_expression "iVar30 + 8" (identifier "iVar30") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "uVar16 = *(undefined4 *)(iVar30 + 4);" (assignment_expression "uVar16 = *(undefined4 *)(iVar30 + 4)" (identifier "uVar16") (= "=") (pointer_expression "*(undefined4 *)(iVar30 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar30 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar30 + 4)" (( "(") (binary_expression "iVar30 + 4" (identifier "iVar30") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar37 = FUN_0001a6c0();" (assignment_expression "uVar37 = FUN_0001a6c0()" (identifier "uVar37") (= "=") (call_expression "FUN_0001a6c0()" (identifier "FUN_0001a6c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);" (assignment_expression "uVar17 = FUN_00038f40(iVar11,uVar37,uVar16)" (identifier "uVar17") (= "=") (call_expression "FUN_00038f40(iVar11,uVar37,uVar16)" (identifier "FUN_00038f40") (argument_list "(iVar11,uVar37,uVar16)" (( "(") (identifier "iVar11") (, ",") (identifier "uVar37") (, ",") (identifier "uVar16") () ")")))) (; ";")) (expression_statement "piVar29[4] = uVar17;" (assignment_expression "piVar29[4] = uVar17" (subscript_expression "piVar29[4]" (identifier "piVar29") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" (identifier "local_8c") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[0] = uVar27;" (assignment_expression "local_9c[0] = uVar27" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar27")) (; ";")) (expression_statement "FUN_00031660(local_9c,iVar6);" (call_expression "FUN_00031660(local_9c,iVar6)" (identifier "FUN_00031660") (argument_list "(local_9c,iVar6)" (( "(") (identifier "local_9c") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" (identifier "local_8c") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[0] = uVar17;" (assignment_expression "local_9c[0] = uVar17" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "FUN_00031660(local_9c,iVar6);" (call_expression "FUN_00031660(local_9c,iVar6)" (identifier "FUN_00031660") (argument_list "(local_9c,iVar6)" (( "(") (identifier "local_9c") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "piVar29 = (int *)*piVar29;" (assignment_expression "piVar29 = (int *)*piVar29" (identifier "piVar29") (= "=") (cast_expression "(int *)*piVar29" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar29" (* "*") (identifier "piVar29")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar29 != (int *)0x0)" (( "(") (binary_expression "piVar29 != (int *)0x0" (identifier "piVar29") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (iVar6 == 0) goto LAB_0001c984;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001c984;" (goto "goto") (statement_identifier "LAB_0001c984") (; ";"))) (} "}")) (else_clause "else {\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }" (else "else") (compound_statement "{\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);\n    iVar11 = 0;\n    do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);\n    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;\n  }" ({ "{") (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    } while (iVar6 != iVar11);" (do "do") (compound_statement "{\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0xff);\n    }" ({ "{") (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_00024e20(0xff);" (call_expression "FUN_00024e20(0xff)" (identifier "FUN_00024e20") (argument_list "(0xff)" (( "(") (number_literal "0xff") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 != iVar11)" (( "(") (binary_expression "iVar6 != iVar11" (identifier "iVar6") (!= "!=") (identifier "iVar11")) () ")")) (; ";")) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    } while (iVar6 != iVar11);" (do "do") (compound_statement "{\n      iVar11 = iVar11 + 1;\n      FUN_00024e20(0);\n    }" ({ "{") (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 != iVar11)" (( "(") (binary_expression "iVar6 != iVar11" (identifier "iVar6") (!= "!=") (identifier "iVar11")) () ")")) (; ";")) (if_statement "if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;" (if "if") (parenthesized_expression "(DAT_00088978 != (int *)0x0)" (( "(") (binary_expression "DAT_00088978 != (int *)0x0" (identifier "DAT_00088978") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001c840;" (goto "goto") (statement_identifier "LAB_0001c840") (; ";"))) (} "}")))) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);" (do "do") (compound_statement "{\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  }" ({ "{") (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 != iVar11)" (( "(") (binary_expression "iVar6 != iVar11" (identifier "iVar6") (!= "!=") (identifier "iVar11")) () ")")) (; ";")) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  } while (iVar6 != iVar11);" (do "do") (compound_statement "{\n    iVar11 = iVar11 + 1;\n    FUN_00024e20(0);\n  }" ({ "{") (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 != iVar11)" (( "(") (binary_expression "iVar6 != iVar11" (identifier "iVar6") (!= "!=") (identifier "iVar11")) () ")")) (; ";")) (labeled_statement "LAB_0001c984:\n  iVar11 = DAT_00088950;" (statement_identifier "LAB_0001c984") (: ":") (expression_statement "iVar11 = DAT_00088950;" (assignment_expression "iVar11 = DAT_00088950" (identifier "iVar11") (= "=") (identifier "DAT_00088950")) (; ";"))) (expression_statement "local_cc = local_9c;" (assignment_expression "local_cc = local_9c" (identifier "local_cc") (= "=") (identifier "local_9c")) (; ";")) (expression_statement "uVar17 = FUN_0001a5e0();" (assignment_expression "uVar17 = FUN_0001a5e0()" (identifier "uVar17") (= "=") (call_expression "FUN_0001a5e0()" (identifier "FUN_0001a5e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "auVar5 = local_a4;" (assignment_expression "auVar5 = local_a4" (identifier "auVar5") (= "=") (identifier "local_a4")) (; ";")) (expression_statement "uVar27 = local_a8;" (assignment_expression "uVar27 = local_a8" (identifier "uVar27") (= "=") (identifier "local_a8")) (; ";")) (expression_statement "iVar2 = local_b0;" (assignment_expression "iVar2 = local_b0" (identifier "iVar2") (= "=") (identifier "local_b0")) (; ";")) (expression_statement "uVar16 = FUN_00024b20(2);" (assignment_expression "uVar16 = FUN_00024b20(2)" (identifier "uVar16") (= "=") (call_expression "FUN_00024b20(2)" (identifier "FUN_00024b20") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (; ";")) (expression_statement "FUN_000416b0(uVar16,2,0,2);" (call_expression "FUN_000416b0(uVar16,2,0,2)" (identifier "FUN_000416b0") (argument_list "(uVar16,2,0,2)" (( "(") (identifier "uVar16") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "local_9c[0] = FUN_00036bd0(uVar8);" (assignment_expression "local_9c[0] = FUN_00036bd0(uVar8)" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "FUN_00036bd0(uVar8)" (identifier "FUN_00036bd0") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" (identifier "local_8c") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00031660(local_cc,uVar17);" (call_expression "FUN_00031660(local_cc,uVar17)" (identifier "FUN_00031660") (argument_list "(local_cc,uVar17)" (( "(") (identifier "local_cc") (, ",") (identifier "uVar17") () ")"))) (; ";")) (expression_statement "uVar25 = 2 - uVar27;" (assignment_expression "uVar25 = 2 - uVar27" (identifier "uVar25") (= "=") (binary_expression "2 - uVar27" (number_literal "2") (- "-") (identifier "uVar27"))) (; ";")) (expression_statement "uVar18 = uVar17 + uVar25;" (assignment_expression "uVar18 = uVar17 + uVar25" (identifier "uVar18") (= "=") (binary_expression "uVar17 + uVar25" (identifier "uVar17") (+ "+") (identifier "uVar25"))) (; ";")) (expression_statement "iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)\n  ;" (assignment_expression "iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)" (identifier "iVar21") (= "=") (binary_expression "((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)" (binary_expression "((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5)" (parenthesized_expression "((int)uVar17 >> 0x1f)" (( "(") (binary_expression "(int)uVar17 >> 0x1f" (cast_expression "(int)uVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar17")) (>> ">>") (number_literal "0x1f")) () ")")) (+ "+") (parenthesized_expression "(-(uint)(2 < uVar27) - (int)auVar5)" (( "(") (binary_expression "-(uint)(2 < uVar27) - (int)auVar5" (unary_expression "-(uint)(2 < uVar27)" (- "-") (call_expression "(uint)(2 < uVar27)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(2 < uVar27)" (( "(") (binary_expression "2 < uVar27" (number_literal "2") (< "<") (identifier "uVar27")) () ")")))) (- "-") (cast_expression "(int)auVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auVar5"))) () ")"))) (+ "+") (cast_expression "(uint)CARRY4(uVar17,uVar25)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar17,uVar25)" (identifier "CARRY4") (argument_list "(uVar17,uVar25)" (( "(") (identifier "uVar17") (, ",") (identifier "uVar25") () ")")))))) (; ";")) (expression_statement "FUN_00024e20(iVar11);" (call_expression "FUN_00024e20(iVar11)" (identifier "FUN_00024e20") (argument_list "(iVar11)" (( "(") (identifier "iVar11") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar27 = uVar18 + 3;" (assignment_expression "uVar27 = uVar18 + 3" (identifier "uVar27") (= "=") (binary_expression "uVar18 + 3" (identifier "uVar18") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);" (assignment_expression "iVar30 = iVar21 + (uint)(0xfffffffc < uVar18)" (identifier "iVar30") (= "=") (binary_expression "iVar21 + (uint)(0xfffffffc < uVar18)" (identifier "iVar21") (+ "+") (call_expression "(uint)(0xfffffffc < uVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xfffffffc < uVar18)" (( "(") (binary_expression "0xfffffffc < uVar18" (number_literal "0xfffffffc") (< "<") (identifier "uVar18")) () ")"))))) (; ";")) (expression_statement "iVar6 = iVar11 * 2;" (assignment_expression "iVar6 = iVar11 * 2" (identifier "iVar6") (= "=") (binary_expression "iVar11 * 2" (identifier "iVar11") (* "*") (number_literal "2"))) (; ";")) (expression_statement "uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);" (assignment_expression "uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0)" (identifier "uVar37") (= "=") (call_expression "FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0)" (identifier "FUN_00059b60") (argument_list "(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0)" (( "(") (binary_expression "uVar18 + 2" (identifier "uVar18") (+ "+") (number_literal "2")) (, ",") (binary_expression "iVar21 + (uint)(0xfffffffd < uVar18)" (identifier "iVar21") (+ "+") (call_expression "(uint)(0xfffffffd < uVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xfffffffd < uVar18)" (( "(") (binary_expression "0xfffffffd < uVar18" (number_literal "0xfffffffd") (< "<") (identifier "uVar18")) () ")")))) (, ",") (identifier "iVar6") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar29 = DAT_00088978;" (assignment_expression "piVar29 = DAT_00088978" (identifier "piVar29") (= "=") (identifier "DAT_00088978")) (; ";")) (if_statement "if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }" (if "if") (parenthesized_expression "(-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0))" (( "(") (binary_expression "-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)" (unary_expression "-(int)((ulonglong)uVar37 >> 0x20)" (- "-") (cast_expression "(int)((ulonglong)uVar37 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar37 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar37 >> 0x20" (cast_expression "(ulonglong)uVar37" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar37")) (>> ">>") (number_literal "0x20")) () ")")))) (< "<") (cast_expression "(int)(uint)((int)uVar37 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)((int)uVar37 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)uVar37 != 0)" (( "(") (binary_expression "(int)uVar37 != 0" (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")) (!= "!=") (number_literal "0")) () ")"))))) () ")")) (compound_statement "{\n    do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));\n  }" ({ "{") (do_statement "do {\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));" (do "do") (compound_statement "{\n      FUN_00024e20(0);\n      bVar33 = 0xfffffffe < uVar27;\n      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);\n      uVar27 = uVar27 + 1;\n      iVar30 = iVar30 + (uint)bVar33;\n      piVar29 = DAT_00088978;\n    }" ({ "{") (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "bVar33 = 0xfffffffe < uVar27;" (assignment_expression "bVar33 = 0xfffffffe < uVar27" (identifier "bVar33") (= "=") (binary_expression "0xfffffffe < uVar27" (number_literal "0xfffffffe") (< "<") (identifier "uVar27"))) (; ";")) (expression_statement "uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);" (assignment_expression "uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0)" (identifier "uVar37") (= "=") (call_expression "FUN_00059b60(uVar27,iVar30,iVar6,0)" (identifier "FUN_00059b60") (argument_list "(uVar27,iVar30,iVar6,0)" (( "(") (identifier "uVar27") (, ",") (identifier "iVar30") (, ",") (identifier "iVar6") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" (identifier "uVar27") (= "=") (binary_expression "uVar27 + 1" (identifier "uVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar30 = iVar30 + (uint)bVar33;" (assignment_expression "iVar30 = iVar30 + (uint)bVar33" (identifier "iVar30") (= "=") (binary_expression "iVar30 + (uint)bVar33" (identifier "iVar30") (+ "+") (cast_expression "(uint)bVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar33")))) (; ";")) (expression_statement "piVar29 = DAT_00088978;" (assignment_expression "piVar29 = DAT_00088978" (identifier "piVar29") (= "=") (identifier "DAT_00088978")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0))" (( "(") (binary_expression "-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)" (unary_expression "-(int)((ulonglong)uVar37 >> 0x20)" (- "-") (cast_expression "(int)((ulonglong)uVar37 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar37 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar37 >> 0x20" (cast_expression "(ulonglong)uVar37" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar37")) (>> ">>") (number_literal "0x20")) () ")")))) (< "<") (cast_expression "(int)(uint)((int)uVar37 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)((int)uVar37 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)uVar37 != 0)" (( "(") (binary_expression "(int)uVar37 != 0" (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")) (!= "!=") (number_literal "0")) () ")"))))) () ")")) (; ";")) (} "}"))) (for_statement "for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }" (for "for") (( "(") (; ";") (binary_expression "piVar29 != (int *)0x0" (identifier "piVar29") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "piVar29 = (int *)*piVar29" (identifier "piVar29") (= "=") (cast_expression "(int *)*piVar29" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar29" (* "*") (identifier "piVar29")))) () ")") (compound_statement "{\n    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));\n    iVar30 = piVar29[1];\n    piVar29[3] = iVar15;\n    iVar21 = **(int **)(iVar30 + 0x80);\n    do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar22 + 4);\n    uVar37 = FUN_0001a6c0();\n    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);\n    piVar29[4] = iVar30;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar30;\n    local_ac = iVar15;\n    FUN_00031660(&local_b0,iVar11);\n  }" ({ "{") (expression_statement "iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));" (assignment_expression "iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" (identifier "iVar15") (= "=") (call_expression "FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" (identifier "FUN_00038f40") (argument_list "(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80))" (( "(") (subscript_expression "piVar29[1]" (identifier "piVar29") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80)" (* "*") (cast_expression "(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(piVar29[1] + 0x80)" (* "*") (pointer_expression "*(undefined4 **)(piVar29[1] + 0x80)" (* "*") (cast_expression "(undefined4 **)(piVar29[1] + 0x80)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar29[1] + 0x80)" (( "(") (binary_expression "piVar29[1] + 0x80" (subscript_expression "piVar29[1]" (identifier "piVar29") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x80")) () ")"))))))) () ")")))) (; ";")) (expression_statement "iVar30 = piVar29[1];" (assignment_expression "iVar30 = piVar29[1]" (identifier "iVar30") (= "=") (subscript_expression "piVar29[1]" (identifier "piVar29") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar29[3] = iVar15;" (assignment_expression "piVar29[3] = iVar15" (subscript_expression "piVar29[3]" (identifier "piVar29") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "iVar21 = **(int **)(iVar30 + 0x80);" (assignment_expression "iVar21 = **(int **)(iVar30 + 0x80)" (identifier "iVar21") (= "=") (pointer_expression "**(int **)(iVar30 + 0x80)" (* "*") (pointer_expression "*(int **)(iVar30 + 0x80)" (* "*") (cast_expression "(int **)(iVar30 + 0x80)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar30 + 0x80)" (( "(") (binary_expression "iVar30 + 0x80" (identifier "iVar30") (+ "+") (number_literal "0x80")) () ")")))))) (; ";")) (do_statement "do {\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    } while (iVar21 != 0);" (do "do") (compound_statement "{\n      iVar22 = iVar21;\n      iVar21 = *(int *)(iVar22 + 8);\n    }" ({ "{") (expression_statement "iVar22 = iVar21;" (assignment_expression "iVar22 = iVar21" (identifier "iVar22") (= "=") (identifier "iVar21")) (; ";")) (expression_statement "iVar21 = *(int *)(iVar22 + 8);" (assignment_expression "iVar21 = *(int *)(iVar22 + 8)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(iVar22 + 8)" (* "*") (cast_expression "(int *)(iVar22 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 8)" (( "(") (binary_expression "iVar22 + 8" (identifier "iVar22") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(iVar22 + 4);" (assignment_expression "uVar8 = *(undefined4 *)(iVar22 + 4)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(iVar22 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar22 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 4)" (( "(") (binary_expression "iVar22 + 4" (identifier "iVar22") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar37 = FUN_0001a6c0();" (assignment_expression "uVar37 = FUN_0001a6c0()" (identifier "uVar37") (= "=") (call_expression "FUN_0001a6c0()" (identifier "FUN_0001a6c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);" (assignment_expression "iVar30 = FUN_00038f40(iVar30,uVar37,uVar8)" (identifier "iVar30") (= "=") (call_expression "FUN_00038f40(iVar30,uVar37,uVar8)" (identifier "FUN_00038f40") (argument_list "(iVar30,uVar37,uVar8)" (( "(") (identifier "iVar30") (, ",") (identifier "uVar37") (, ",") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "piVar29[4] = iVar30;" (assignment_expression "piVar29[4] = iVar30" (subscript_expression "piVar29[4]" (identifier "piVar29") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar30")) (; ";")) (expression_statement "local_a0[0] = 3;" (assignment_expression "local_a0[0] = 3" (subscript_expression "local_a0[0]" (identifier "local_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" (identifier "local_a4") (= "=") (cast_expression "(undefined1  [4])0x0" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b0 = iVar15;" (assignment_expression "local_b0 = iVar15" (identifier "local_b0") (= "=") (identifier "iVar15")) (; ";")) (expression_statement "FUN_00031660(&local_b0,iVar11);" (call_expression "FUN_00031660(&local_b0,iVar11)" (identifier "FUN_00031660") (argument_list "(&local_b0,iVar11)" (( "(") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) (, ",") (identifier "iVar11") () ")"))) (; ";")) (expression_statement "local_a0[0] = 0x14;" (assignment_expression "local_a0[0] = 0x14" (subscript_expression "local_a0[0]" (identifier "local_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0x14")) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" (identifier "local_a4") (= "=") (cast_expression "(undefined1  [4])0x0" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b0 = iVar30;" (assignment_expression "local_b0 = iVar30" (identifier "local_b0") (= "=") (identifier "iVar30")) (; ";")) (expression_statement "local_ac = iVar15;" (assignment_expression "local_ac = iVar15" (identifier "local_ac") (= "=") (identifier "iVar15")) (; ";")) (expression_statement "FUN_00031660(&local_b0,iVar11);" (call_expression "FUN_00031660(&local_b0,iVar11)" (identifier "FUN_00031660") (argument_list "(&local_b0,iVar11)" (( "(") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) (, ",") (identifier "iVar11") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar6 = FUN_00024b20(iVar6);" (assignment_expression "iVar6 = FUN_00024b20(iVar6)" (identifier "iVar6") (= "=") (call_expression "FUN_00024b20(iVar6)" (identifier "FUN_00024b20") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "FUN_000416b0(iVar6,0,0,iVar11);" (call_expression "FUN_000416b0(iVar6,0,0,iVar11)" (identifier "FUN_000416b0") (argument_list "(iVar6,0,0,iVar11)" (( "(") (identifier "iVar6") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "iVar11") () ")"))) (; ";")) (expression_statement "FUN_000416b0(iVar6 + iVar11,0,0,iVar11);" (call_expression "FUN_000416b0(iVar6 + iVar11,0,0,iVar11)" (identifier "FUN_000416b0") (argument_list "(iVar6 + iVar11,0,0,iVar11)" (( "(") (binary_expression "iVar6 + iVar11" (identifier "iVar6") (+ "+") (identifier "iVar11")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "iVar11") () ")"))) (; ";")) (expression_statement "FUN_0003b7e0(iVar2);" (call_expression "FUN_0003b7e0(iVar2)" (identifier "FUN_0003b7e0") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (expression_statement "FUN_00036b80(uVar9,0);" (call_expression "FUN_00036b80(uVar9,0)" (identifier "FUN_00036b80") (argument_list "(uVar9,0)" (( "(") (identifier "uVar9") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*DAT_00088978 == 0) {\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }\n  else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }" (if "if") (parenthesized_expression "(*DAT_00088978 == 0)" (( "(") (binary_expression "*DAT_00088978 == 0" (pointer_expression "*DAT_00088978" (* "*") (identifier "DAT_00088978")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n    FUN_0001a680();\n  }" ({ "{") (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    FUN_0001a680();\n    FUN_0001a680();\n  }" (else "else") (compound_statement "{\n    FUN_0001a680();\n    FUN_0001a680();\n  }" ({ "{") (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0);" (call_expression "FUN_00024e20(0)" (identifier "FUN_00024e20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00036b80(iVar10,0);" (call_expression "FUN_00036b80(iVar10,0)" (identifier "FUN_00036b80") (argument_list "(iVar10,0)" (( "(") (identifier "iVar10") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar27 = FUN_00038f70();" (assignment_expression "uVar27 = FUN_00038f70()" (identifier "uVar27") (= "=") (call_expression "FUN_00038f70()" (identifier "FUN_00038f70") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (DAT_0008896c != 0) {\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }" (if "if") (parenthesized_expression "(DAT_0008896c != 0)" (( "(") (binary_expression "DAT_0008896c != 0" (identifier "DAT_0008896c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00088970 + 8));\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);\n    uVar17 = FUN_00038f70();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035620(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar18 = FUN_00038f70();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);\n    bVar33 = (uVar19 & 0x8080) == 0;\n    if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }\n    if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }\n    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;\n    puVar20 = (uint *)FUN_00024b20(uVar25);\n    if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a5e0();\n    iVar6 = local_b0;\n    uVar16 = FUN_00024b20(2);\n    FUN_000416b0(uVar16,2,0,2);\n    local_9c[0] = FUN_00036bd0(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,uVar8);\n    FUN_00024e20(DAT_00088950);\n    FUN_0001a680();\n    local_9c[0] = FUN_00036bd0(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_00031660(local_cc,4);\n    if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar27;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_00031660(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar18;\n    FUN_00031660(local_cc,uVar8);\n    uVar7 = FUN_00024b20(2);\n    FUN_000416b0(uVar7,0x8001,0,2);\n    FUN_0003b7e0(iVar6);\n    return;\n  }" ({ "{") (if_statement "if (*(int *)(DAT_00088970 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }" (if "if") (parenthesized_expression "(*(int *)(DAT_00088970 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(DAT_00088970 + 0xc) != 0" (pointer_expression "*(int *)(DAT_00088970 + 0xc)" (* "*") (cast_expression "(int *)(DAT_00088970 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00088970 + 0xc)" (( "(") (binary_expression "DAT_00088970 + 0xc" (identifier "DAT_00088970") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }" ({ "{") (expression_statement "pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));" (assignment_expression "pcVar12 = (char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4))" (identifier "pcVar12") (= "=") (cast_expression "(char *)FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00035620(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4))" (identifier "FUN_00035620") (argument_list "(*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4))" (( "(") (pointer_expression "*(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4)" (* "*") (cast_expression "(undefined4 *)\n                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4)" (( "(") (binary_expression "DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4" (identifier "DAT_00088964") (+ "+") (binary_expression "*(int *)(DAT_00088970 + 0xc) * 4" (pointer_expression "*(int *)(DAT_00088970 + 0xc)" (* "*") (cast_expression "(int *)(DAT_00088970 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00088970 + 0xc)" (( "(") (binary_expression "DAT_00088970 + 0xc" (identifier "DAT_00088970") (+ "+") (number_literal "0xc")) () ")")))) (* "*") (number_literal "4"))) () ")")))) () ")"))))) (; ";")) (expression_statement "sVar13 = strlen(pcVar12);" (assignment_expression "sVar13 = strlen(pcVar12)" (identifier "sVar13") (= "=") (call_expression "strlen(pcVar12)" (identifier "strlen") (argument_list "(pcVar12)" (( "(") (identifier "pcVar12") () ")")))) (; ";")) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" (identifier "pvVar14") (= "=") (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024b20(sVar13 + 1)" (identifier "FUN_00024b20") (argument_list "(sVar13 + 1)" (( "(") (binary_expression "sVar13 + 1" (identifier "sVar13") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "memcpy(pvVar14,pcVar12,sVar13);" (call_expression "memcpy(pvVar14,pcVar12,sVar13)" (identifier "memcpy") (argument_list "(pvVar14,pcVar12,sVar13)" (( "(") (identifier "pvVar14") (, ",") (identifier "pcVar12") (, ",") (identifier "sVar13") () ")"))) (; ";")) (expression_statement "*(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;" (assignment_expression "*(undefined1 *)((int)pvVar14 + sVar13) = 0x2f" (pointer_expression "*(undefined1 *)((int)pvVar14 + sVar13)" (* "*") (cast_expression "(undefined1 *)((int)pvVar14 + sVar13)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar14 + sVar13)" (( "(") (binary_expression "(int)pvVar14 + sVar13" (cast_expression "(int)pvVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar14")) (+ "+") (identifier "sVar13")) () ")")))) (= "=") (number_literal "0x2f")) (; ";")) (} "}"))) (expression_statement "sVar13 = strlen(*(char **)(DAT_00088970 + 8));" (assignment_expression "sVar13 = strlen(*(char **)(DAT_00088970 + 8))" (identifier "sVar13") (= "=") (call_expression "strlen(*(char **)(DAT_00088970 + 8))" (identifier "strlen") (argument_list "(*(char **)(DAT_00088970 + 8))" (( "(") (pointer_expression "*(char **)(DAT_00088970 + 8)" (* "*") (cast_expression "(char **)(DAT_00088970 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_00088970 + 8)" (( "(") (binary_expression "DAT_00088970 + 8" (identifier "DAT_00088970") (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" (identifier "pvVar14") (= "=") (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024b20(sVar13 + 1)" (identifier "FUN_00024b20") (argument_list "(sVar13 + 1)" (( "(") (binary_expression "sVar13 + 1" (identifier "sVar13") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);" (call_expression "memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1)" (identifier "memcpy") (argument_list "(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1)" (( "(") (identifier "pvVar14") (, ",") (pointer_expression "*(void **)(DAT_00088970 + 8)" (* "*") (cast_expression "(void **)(DAT_00088970 + 8)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_00088970 + 8)" (( "(") (binary_expression "DAT_00088970 + 8" (identifier "DAT_00088970") (+ "+") (number_literal "8")) () ")")))) (, ",") (binary_expression "sVar13 + 1" (identifier "sVar13") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "uVar17 = FUN_00038f70();" (assignment_expression "uVar17 = FUN_00038f70()" (identifier "uVar17") (= "=") (call_expression "FUN_00038f70()" (identifier "FUN_00038f70") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar8 = getpwd();" (assignment_expression "uVar8 = getpwd()" (identifier "uVar8") (= "=") (call_expression "getpwd()" (identifier "getpwd") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar12 = (char *)FUN_00035620(uVar8);" (assignment_expression "pcVar12 = (char *)FUN_00035620(uVar8)" (identifier "pcVar12") (= "=") (cast_expression "(char *)FUN_00035620(uVar8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00035620(uVar8)" (identifier "FUN_00035620") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))))) (; ";")) (expression_statement "sVar13 = strlen(pcVar12);" (assignment_expression "sVar13 = strlen(pcVar12)" (identifier "sVar13") (= "=") (call_expression "strlen(pcVar12)" (identifier "strlen") (argument_list "(pcVar12)" (( "(") (identifier "pcVar12") () ")")))) (; ";")) (expression_statement "pvVar14 = (void *)FUN_00024b20(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024b20(sVar13 + 1)" (identifier "pvVar14") (= "=") (cast_expression "(void *)FUN_00024b20(sVar13 + 1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024b20(sVar13 + 1)" (identifier "FUN_00024b20") (argument_list "(sVar13 + 1)" (( "(") (binary_expression "sVar13 + 1" (identifier "sVar13") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "memcpy(pvVar14,pcVar12,sVar13 + 1);" (call_expression "memcpy(pvVar14,pcVar12,sVar13 + 1)" (identifier "memcpy") (argument_list "(pvVar14,pcVar12,sVar13 + 1)" (( "(") (identifier "pvVar14") (, ",") (identifier "pcVar12") (, ",") (binary_expression "sVar13 + 1" (identifier "sVar13") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "uVar18 = FUN_00038f70();" (assignment_expression "uVar18 = FUN_00038f70()" (identifier "uVar18") (= "=") (call_expression "FUN_00038f70()" (identifier "FUN_00038f70") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "sprintf((char *)local_cc,"GNU AS %s","2.31.1");" (call_expression "sprintf((char *)local_cc,"GNU AS %s","2.31.1")" (identifier "sprintf") (argument_list "((char *)local_cc,"GNU AS %s","2.31.1")" (( "(") (cast_expression "(char *)local_cc" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_cc")) (, ",") (string_literal ""GNU AS %s"" (" """) (string_content "GNU AS %s") (" """)) (, ",") (string_literal ""2.31.1"" (" """) (string_content "2.31.1") (" """)) () ")"))) (; ";")) (expression_statement "puVar20 = local_cc;" (assignment_expression "puVar20 = local_cc" (identifier "puVar20") (= "=") (identifier "local_cc")) (; ";")) (do_statement "do {\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    } while (uVar25 == 0);" (do "do") (compound_statement "{\n      puVar23 = puVar20;\n      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;\n      uVar25 = uVar19 & 0x80808080;\n      puVar20 = puVar23 + 1;\n    }" ({ "{") (expression_statement "puVar23 = puVar20;" (assignment_expression "puVar23 = puVar20" (identifier "puVar23") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;" (assignment_expression "uVar19 = *puVar23 + 0xfefefeff & ~*puVar23" (identifier "uVar19") (= "=") (binary_expression "*puVar23 + 0xfefefeff & ~*puVar23" (binary_expression "*puVar23 + 0xfefefeff" (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) (+ "+") (number_literal "0xfefefeff")) (& "&") (unary_expression "~*puVar23" (~ "~") (pointer_expression "*puVar23" (* "*") (identifier "puVar23"))))) (; ";")) (expression_statement "uVar25 = uVar19 & 0x80808080;" (assignment_expression "uVar25 = uVar19 & 0x80808080" (identifier "uVar25") (= "=") (binary_expression "uVar19 & 0x80808080" (identifier "uVar19") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar20 = puVar23 + 1;" (assignment_expression "puVar20 = puVar23 + 1" (identifier "puVar20") (= "=") (binary_expression "puVar23 + 1" (identifier "puVar23") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar25 == 0)" (( "(") (binary_expression "uVar25 == 0" (identifier "uVar25") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar33 = (uVar19 & 0x8080) == 0;" (assignment_expression "bVar33 = (uVar19 & 0x8080) == 0" (identifier "bVar33") (= "=") (binary_expression "(uVar19 & 0x8080) == 0" (parenthesized_expression "(uVar19 & 0x8080)" (( "(") (binary_expression "uVar19 & 0x8080" (identifier "uVar19") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar33) {\n      uVar25 = uVar25 >> 0x10;\n    }" (if "if") (parenthesized_expression "(bVar33)" (( "(") (identifier "bVar33") () ")")) (compound_statement "{\n      uVar25 = uVar25 >> 0x10;\n    }" ({ "{") (expression_statement "uVar25 = uVar25 >> 0x10;" (assignment_expression "uVar25 = uVar25 >> 0x10" (identifier "uVar25") (= "=") (binary_expression "uVar25 >> 0x10" (identifier "uVar25") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar33) {\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }" (if "if") (parenthesized_expression "(bVar33)" (( "(") (identifier "bVar33") () ")")) (compound_statement "{\n      puVar20 = (uint *)((int)puVar23 + 6);\n    }" ({ "{") (expression_statement "puVar20 = (uint *)((int)puVar23 + 6);" (assignment_expression "puVar20 = (uint *)((int)puVar23 + 6)" (identifier "puVar20") (= "=") (cast_expression "(uint *)((int)puVar23 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar23 + 6)" (( "(") (binary_expression "(int)puVar23 + 6" (cast_expression "(int)puVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar23")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;" (assignment_expression "uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2" (identifier "uVar25") (= "=") (binary_expression "(int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2" (binary_expression "(int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25))" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "(-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25))" (( "(") (binary_expression "-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)" (unary_expression "-(int)local_cc" (- "-") (cast_expression "(int)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_cc"))) (- "-") (cast_expression "(uint)CARRY1((byte)uVar25,(byte)uVar25)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY1((byte)uVar25,(byte)uVar25)" (identifier "CARRY1") (argument_list "((byte)uVar25,(byte)uVar25)" (( "(") (cast_expression "(byte)uVar25" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar25")) (, ",") (cast_expression "(byte)uVar25" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar25")) () ")"))))) () ")"))) (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "puVar20 = (uint *)FUN_00024b20(uVar25);" (assignment_expression "puVar20 = (uint *)FUN_00024b20(uVar25)" (identifier "puVar20") (= "=") (cast_expression "(uint *)FUN_00024b20(uVar25)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024b20(uVar25)" (identifier "FUN_00024b20") (argument_list "(uVar25)" (( "(") (identifier "uVar25") () ")"))))) (; ";")) (if_statement "if (uVar25 < 4) {\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }" (if "if") (parenthesized_expression "(uVar25 < 4)" (( "(") (binary_expression "uVar25 < 4" (identifier "uVar25") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n      if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }\n    }" ({ "{") (if_statement "if (uVar25 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }" (if "if") (parenthesized_expression "(uVar25 != 0)" (( "(") (binary_expression "uVar25 != 0" (identifier "uVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }\n      }" ({ "{") (expression_statement "*(undefined1 *)puVar20 = (undefined1)local_9c[0];" (assignment_expression "*(undefined1 *)puVar20 = (undefined1)local_9c[0]" (pointer_expression "*(undefined1 *)puVar20" (* "*") (cast_expression "(undefined1 *)puVar20" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar20"))) (= "=") (cast_expression "(undefined1)local_9c[0]" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")))) (; ";")) (if_statement "if ((uVar25 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }" (if "if") (parenthesized_expression "((uVar25 & 2) != 0)" (( "(") (binary_expression "(uVar25 & 2) != 0" (parenthesized_expression "(uVar25 & 2)" (( "(") (binary_expression "uVar25 & 2" (identifier "uVar25") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);\n        }" ({ "{") (expression_statement "*(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);" (assignment_expression "*(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2)" (pointer_expression "*(undefined2 *)((int)puVar20 + (uVar25 - 2))" (* "*") (cast_expression "(undefined2 *)((int)puVar20 + (uVar25 - 2))" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + (uVar25 - 2))" (( "(") (binary_expression "(int)puVar20 + (uVar25 - 2)" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "(uVar25 - 2)" (( "(") (binary_expression "uVar25 - 2" (identifier "uVar25") (- "-") (number_literal "2")) () ")"))) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(local_a0 + uVar25 + 2)" (* "*") (cast_expression "(undefined2 *)(local_a0 + uVar25 + 2)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a0 + uVar25 + 2)" (( "(") (binary_expression "local_a0 + uVar25 + 2" (binary_expression "local_a0 + uVar25" (identifier "local_a0") (+ "+") (identifier "uVar25")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }" (else "else") (compound_statement "{\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);\n      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar6);\n      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }\n    }" ({ "{") (expression_statement "*puVar20 = local_9c[0];" (assignment_expression "*puVar20 = local_9c[0]" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);" (assignment_expression "*(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25)" (pointer_expression "*(undefined4 *)((int)puVar20 + (uVar25 - 4))" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + (uVar25 - 4))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + (uVar25 - 4))" (( "(") (binary_expression "(int)puVar20 + (uVar25 - 4)" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "(uVar25 - 4)" (( "(") (binary_expression "uVar25 - 4" (identifier "uVar25") (- "-") (number_literal "4")) () ")"))) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(local_a0 + uVar25)" (* "*") (cast_expression "(undefined4 *)(local_a0 + uVar25)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a0 + uVar25)" (( "(") (binary_expression "local_a0 + uVar25" (identifier "local_a0") (+ "+") (identifier "uVar25")) () ")"))))) (; ";")) (expression_statement "iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);" (assignment_expression "iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc)" (identifier "iVar6") (= "=") (binary_expression "(int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc)" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (- "-") (cast_expression "(int)((uint)(puVar20 + 1) & 0xfffffffc)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uint)(puVar20 + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(puVar20 + 1) & 0xfffffffc" (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")"))))) (; ";")) (expression_statement "puVar26 = (undefined4 *)((int)local_cc - iVar6);" (assignment_expression "puVar26 = (undefined4 *)((int)local_cc - iVar6)" (identifier "puVar26") (= "=") (cast_expression "(undefined4 *)((int)local_cc - iVar6)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_cc - iVar6)" (( "(") (binary_expression "(int)local_cc - iVar6" (cast_expression "(int)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_cc")) (- "-") (identifier "iVar6")) () ")")))) (; ";")) (expression_statement "puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);" (assignment_expression "puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc)" (identifier "puVar31") (= "=") (cast_expression "(undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(puVar20 + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(puVar20 + 1) & 0xfffffffc" (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (for_statement "for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }" (for "for") (( "(") (assignment_expression "uVar25 = iVar6 + uVar25 >> 2" (identifier "uVar25") (= "=") (binary_expression "iVar6 + uVar25 >> 2" (binary_expression "iVar6 + uVar25" (identifier "iVar6") (+ "+") (identifier "uVar25")) (>> ">>") (number_literal "2"))) (; ";") (binary_expression "uVar25 != 0" (identifier "uVar25") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar25 = uVar25 - 1" (identifier "uVar25") (= "=") (binary_expression "uVar25 - 1" (identifier "uVar25") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n        *puVar31 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;\n        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;\n      }" ({ "{") (expression_statement "*puVar31 = *puVar26;" (assignment_expression "*puVar31 = *puVar26" (pointer_expression "*puVar31" (* "*") (identifier "puVar31")) (= "=") (pointer_expression "*puVar26" (* "*") (identifier "puVar26"))) (; ";")) (expression_statement "puVar26 = puVar26 + (uint)bVar35 * -2 + 1;" (assignment_expression "puVar26 = puVar26 + (uint)bVar35 * -2 + 1" (identifier "puVar26") (= "=") (binary_expression "puVar26 + (uint)bVar35 * -2 + 1" (binary_expression "puVar26 + (uint)bVar35 * -2" (identifier "puVar26") (+ "+") (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar35")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar31 = puVar31 + (uint)bVar35 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar35 * -2 + 1" (identifier "puVar31") (= "=") (binary_expression "puVar31 + (uint)bVar35 * -2 + 1" (binary_expression "puVar31 + (uint)bVar35 * -2" (identifier "puVar31") (+ "+") (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar35")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar8 = FUN_0001a5e0();" (assignment_expression "uVar8 = FUN_0001a5e0()" (identifier "uVar8") (= "=") (call_expression "FUN_0001a5e0()" (identifier "FUN_0001a5e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar6 = local_b0;" (assignment_expression "iVar6 = local_b0" (identifier "iVar6") (= "=") (identifier "local_b0")) (; ";")) (expression_statement "uVar16 = FUN_00024b20(2);" (assignment_expression "uVar16 = FUN_00024b20(2)" (identifier "uVar16") (= "=") (call_expression "FUN_00024b20(2)" (identifier "FUN_00024b20") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (; ";")) (expression_statement "FUN_000416b0(uVar16,2,0,2);" (call_expression "FUN_000416b0(uVar16,2,0,2)" (identifier "FUN_000416b0") (argument_list "(uVar16,2,0,2)" (( "(") (identifier "uVar16") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "local_9c[0] = FUN_00036bd0(uVar9);" (assignment_expression "local_9c[0] = FUN_00036bd0(uVar9)" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "FUN_00036bd0(uVar9)" (identifier "FUN_00036bd0") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (; ";")) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" (identifier "local_8c") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" (identifier "FUN_00031660") (argument_list "(local_cc,uVar8)" (( "(") (identifier "local_cc") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "FUN_00024e20(DAT_00088950);" (call_expression "FUN_00024e20(DAT_00088950)" (identifier "FUN_00024e20") (argument_list "(DAT_00088950)" (( "(") (identifier "DAT_00088950") () ")"))) (; ";")) (expression_statement "FUN_0001a680();" (call_expression "FUN_0001a680()" (identifier "FUN_0001a680") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_9c[0] = FUN_00036bd0(uVar7);" (assignment_expression "local_9c[0] = FUN_00036bd0(uVar7)" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "FUN_00036bd0(uVar7)" (identifier "FUN_00036bd0") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" (identifier "local_8c") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00031660(local_cc,4);" (call_expression "FUN_00031660(local_cc,4)" (identifier "FUN_00031660") (argument_list "(local_cc,4)" (( "(") (identifier "local_cc") (, ",") (number_literal "4") () ")"))) (; ";")) (if_statement "if (*DAT_00088978 == 0) {\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }\n    else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }" (if "if") (parenthesized_expression "(*DAT_00088978 == 0)" (( "(") (binary_expression "*DAT_00088978 == 0" (pointer_expression "*DAT_00088978" (* "*") (identifier "DAT_00088978")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_b0 = DAT_00088978[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n      local_a0[0] = 3;\n      local_b0 = DAT_00088978[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_00031660(&local_b0,DAT_00088950);\n    }" ({ "{") (expression_statement "local_b0 = DAT_00088978[3];" (assignment_expression "local_b0 = DAT_00088978[3]" (identifier "local_b0") (= "=") (subscript_expression "DAT_00088978[3]" (identifier "DAT_00088978") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "local_a0[0] = 3;" (assignment_expression "local_a0[0] = 3" (subscript_expression "local_a0[0]" (identifier "local_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" (identifier "local_a4") (= "=") (cast_expression "(undefined1  [4])0x0" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_00031660(&local_b0,DAT_00088950);" (call_expression "FUN_00031660(&local_b0,DAT_00088950)" (identifier "FUN_00031660") (argument_list "(&local_b0,DAT_00088950)" (( "(") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) (, ",") (identifier "DAT_00088950") () ")"))) (; ";")) (expression_statement "local_a0[0] = 3;" (assignment_expression "local_a0[0] = 3" (subscript_expression "local_a0[0]" (identifier "local_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "local_b0 = DAT_00088978[4];" (assignment_expression "local_b0 = DAT_00088978[4]" (identifier "local_b0") (= "=") (subscript_expression "DAT_00088978[4]" (identifier "DAT_00088978") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a4 = (undefined1  [4])0x0;" (assignment_expression "local_a4 = (undefined1  [4])0x0" (identifier "local_a4") (= "=") (cast_expression "(undefined1  [4])0x0" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_00031660(&local_b0,DAT_00088950);" (call_expression "FUN_00031660(&local_b0,DAT_00088950)" (identifier "FUN_00031660") (argument_list "(&local_b0,DAT_00088950)" (( "(") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) (, ",") (identifier "DAT_00088950") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }" (else "else") (compound_statement "{\n      local_9c[0] = FUN_00036bd0(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_00031660(local_cc,uVar8);\n    }" ({ "{") (expression_statement "local_9c[0] = FUN_00036bd0(local_ec);" (assignment_expression "local_9c[0] = FUN_00036bd0(local_ec)" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "FUN_00036bd0(local_ec)" (identifier "FUN_00036bd0") (argument_list "(local_ec)" (( "(") (identifier "local_ec") () ")")))) (; ";")) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" (identifier "local_8c") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" (identifier "FUN_00031660") (argument_list "(local_cc,uVar8)" (( "(") (identifier "local_cc") (, ",") (identifier "uVar8") () ")"))) (; ";")) (} "}")))) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" (identifier "local_8c") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[0] = uVar27;" (assignment_expression "local_9c[0] = uVar27" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar27")) (; ";")) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" (identifier "FUN_00031660") (argument_list "(local_cc,uVar8)" (( "(") (identifier "local_cc") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" (identifier "local_8c") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[0] = uVar17;" (assignment_expression "local_9c[0] = uVar17" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" (identifier "FUN_00031660") (argument_list "(local_cc,uVar8)" (( "(") (identifier "local_cc") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "local_8c = 3;" (assignment_expression "local_8c = 3" (identifier "local_8c") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_9c[2] = 0;" (assignment_expression "local_9c[2] = 0" (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[3] = 0;" (assignment_expression "local_9c[3] = 0" (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c[0] = uVar18;" (assignment_expression "local_9c[0] = uVar18" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "FUN_00031660(local_cc,uVar8);" (call_expression "FUN_00031660(local_cc,uVar8)" (identifier "FUN_00031660") (argument_list "(local_cc,uVar8)" (( "(") (identifier "local_cc") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "uVar7 = FUN_00024b20(2);" (assignment_expression "uVar7 = FUN_00024b20(2)" (identifier "uVar7") (= "=") (call_expression "FUN_00024b20(2)" (identifier "FUN_00024b20") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (; ";")) (expression_statement "FUN_000416b0(uVar7,0x8001,0,2);" (call_expression "FUN_000416b0(uVar7,0x8001,0,2)" (identifier "FUN_000416b0") (argument_list "(uVar7,0x8001,0,2)" (( "(") (identifier "uVar7") (, ",") (number_literal "0x8001") (, ",") (number_literal "0") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "FUN_0003b7e0(iVar6);" (call_expression "FUN_0003b7e0(iVar6)" (identifier "FUN_0003b7e0") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);" (call_expression "FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11)" (identifier "FUN_0002be80") (argument_list "("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11)" (( "(") (string_literal ""../../gas/dwarf2dbg.c"" (" """) (string_content "../../gas/dwarf2dbg.c") (" """)) (, ",") (number_literal "0x830") (, ",") (string_literal ""out_debug_str"" (" """) (string_content "out_debug_str") (" """)) (, ",") (binary_expression "iVar6 + iVar11" (identifier "iVar6") (+ "+") (identifier "iVar11")) () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Restarted to delay deadcode elimination for space: stack */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  char **ppcVar1;
  type_1 **pplVar2;
  type_2 *var_11;
  type_1 *var_71;
  type_3 seg;
  type_4 *var_72;
  size_t nchars;
  type_5 *var_33;
  type_3 var_2;
  int var_4;
  type_6 *sec;
  char *var_27;
  char *var_28;
  type_7 *psVar10;
  type_7 *psVar11;
  size_t var_24;
  char *pcVar13;
  type_3 paVar14;
  type_4 *var_59;
  type_8 var_49;
  type_3 paVar17;
  type_3 secptr;
  type_8 var_44;
  type_8 var_46;
  type_7 *psVar20;
  type_7 *psVar21;
  int var_67;
  type_9 *peVar23;
  type_7 **ppsVar24;
  int var_65;
  type_10 *var_38;
  type_8 var_50;
  type_11 *var_85;
  type_8 var_21;
  type_10 *var_39;
  type_12 *var_10;
  type_11 *var_86;
  bool var_40;
  bool bVar34;
  bool bVar35;
  type_10 bVar36;
  type_13 var_55;
  type_14 uVar38;
  type_15 oVar39;
  type_11 uVar40;
  type_9 *peVar41;
  type_11 uVar42;
  type_8 var_63;
  int var_61;
  type_8 var_51;
  type_7 *local_f8;
  type_3 var_76;
  type_8 var_45;
  type_8 var_62;
  int var_60;
  type_8 var_52;
  type_4 *var_56;
  type_9 *local_cc;
  type_1 *local_c4;
  type_9 exp_1;
  type_9 exp;
  
  bVar36 = 0;
  var_2 = (type_3)var_1(stdoutput,".debug_info");
  bVar34 = true;
  if (var_2 != (type_3)0x0) {
    var_4 = var_3(var_2);
    bVar34 = var_4 == 0;
  }
  var_2 = (type_3)var_1(stdoutput,".debug_line");
  if ((var_2 != (type_3)0x0) && (var_4 = var_3(var_2), var_4 != 0)) {
    if (var_5 == (type_12 *)0x0) {
      return;
    }
                    /* WARNING: Subroutine does not return */
    var_6("duplicate .debug_line sections");
  }
  if ((var_5 == (type_12 *)0x0) && (bVar34)) {
    return;
  }
  var_77 = var_7();
  sec = var_8(".debug_line",0);
  var_9(stdoutput,sec,0x2008);
  for (var_10 = var_5; var_10 != (type_12 *)0x0; var_10 = var_10->next) {
    pplVar2 = var_10->head->ptail;
    for (var_11 = var_10->head->next; var_11 != (type_2 *)0x0; var_11 = var_11->next) {
      *pplVar2 = var_11->head;
      pplVar2 = var_11->ptail;
    }
  }
  var_27 = (char *)var_12(sec,&exp_1);
  var_28 = var_13(2);
  var_14(var_28,2,2);
  psVar10 = var_15();
  psVar11 = var_15();
  exp_1._16_1_ = 0x14;
  var_21 = 1;
  exp_1.X_add_number._0_4_ = 0;
  exp_1.X_add_number._4_4_ = 0;
  psVar21 = exp_1.X_add_symbol;
  exp_1.X_add_symbol = psVar11;
  exp_1.X_op_symbol = psVar10;
  var_16(&exp_1,(type_8)var_27);
  var_17(psVar10);
  var_18(1);
  var_18(1);
  var_18(-5);
  var_18(0xe);
  var_18(0xd);
  var_18(0);
  var_18(1);
  var_18(1);
  var_18(1);
  var_18(1);
  var_18(0);
  var_18(0);
  var_18(0);
  var_18(1);
  var_18(0);
  var_18(0);
  var_18(1);
  if (1 < var_19) {
    do {
      ppcVar1 = var_20 + var_21;
      var_21 = var_21 + 1;
      var_27 = var_22(*ppcVar1);
      var_24 = var_23(var_27);
      var_28 = var_13(var_24 + 1);
      var_25(var_28,var_27,var_24 + 1);
    } while (var_21 < var_19);
  }
  var_28 = (char *)0x1;
  var_18(0);
  if (1 < var_26) {
    do {
      while (var_27 = files[(int)var_28].filename, var_27 != (char *)0x0) {
        var_24 = var_23(var_27);
        pcVar13 = var_13(var_24 + 1);
        var_25(pcVar13,var_27,var_24 + 1);
        var_28 = var_28 + 1;
        var_29(var_30(var_27,pcVar13));
        var_29(var_30(var_27,pcVar13));
        var_29(var_30(var_27,pcVar13));
        if (var_26 <= var_28) goto LAB_0001c228;
      }
      pcVar13 = (char *)var_31(0,"unassigned file number %ld",5);
      var_27 = var_28;
      var_32(pcVar13);
      files[(int)var_28].filename = "";
      var_28 = var_28 + 1;
    } while (var_28 < var_26);
  }
LAB_0001c228:
  var_18(0);
  var_17(psVar11);
  var_33 = PTR__bfd_std_section_0007ffb0;
  for (var_10 = var_5; var_10 != (type_12 *)0x0; var_10 = var_10->next) {
    var_2 = var_10->seg;
    if ((((var_2 == (type_3)(var_33 + 0xc0)) || (var_2 == (type_3)(var_33 + 0x180))) ||
        (var_2 == var_34)) || (var_2 == var_35)) {
      var_27 = var_2->name;
      var_36("dwarf line number information for %s ignored");
    }
    else {
      local_c4 = var_10->head->head;
      var_40 = false;
      bVar35 = var_37 == 0;
      if (!bVar35) {
        var_4 = 6;
        var_38 = (type_10 *)var_2->name;
        var_39 = &DAT_0005b3a1;
        do {
          if (var_4 == 0) break;
          var_4 = var_4 + -1;
          var_40 = *var_38 < *var_39;
          bVar35 = *var_38 == *var_39;
          var_38 = var_38 + (type_8)bVar36 * -2 + 1;
          var_39 = var_39 + (type_8)bVar36 * -2 + 1;
        } while (bVar35);
        var_27 = ".debug_line";
        if ((!var_40 && !bVar35) != var_40) {
          var_27 = (char *)var_41(".debug_line",var_2->name,0);
        }
        paVar14 = var_42(var_27,0);
        var_27 = (char *)0x0;
        var_43(paVar14,0);
      }
      local_f8 = (type_7 *)0x0;
      var_63 = 0;
      var_61 = 0;
      var_56 = (type_4 *)0x0;
      var_51 = 1;
      var_52 = 1;
      var_45 = 1;
      var_21 = 0;
      var_50 = 0;
      do {
        var_44 = (local_c4->loc).filenum;
        if (var_44 != var_45) {
          uVar40 = 4;
          var_18(4);
          var_29(var_30(var_27,uVar40));
        }
        var_46 = (local_c4->loc).column;
        if (var_46 != var_21) {
          uVar40 = 5;
          var_18(5);
          var_29(var_30(var_27,uVar40));
        }
        if ((local_c4->loc).discriminator != 0) {
          var_18(0);
          var_21 = var_47((type_16)(local_c4->loc).discriminator,0);
          var_27 = (char *)0x0;
          var_49 = var_47((type_16)(var_21 + 1),1);
          var_28 = var_13(var_49);
          var_48(var_28,(type_16)(var_21 + 1),1);
          uVar40 = 4;
          var_18(4);
          var_29(var_30(var_27,uVar40));
        }
        var_49 = (local_c4->loc).isa;
        if (var_49 != var_50) {
          uVar40 = 0xc;
          var_18(0xc);
          var_29(var_30(var_27,uVar40));
        }
        var_21 = (local_c4->loc).flags;
        var_50 = var_21;
        if (((var_51 ^ var_21) & 1) != 0) {
          var_18(6);
          var_50 = (local_c4->loc).flags;
          var_51 = var_21;
        }
        if ((var_50 & 2) != 0) {
          var_18(7);
          var_50 = (local_c4->loc).flags;
        }
        if ((var_50 & 4) != 0) {
          var_18(10);
          var_50 = (local_c4->loc).flags;
        }
        if ((var_50 & 8) != 0) {
          var_18(0xb);
        }
        psVar10 = local_c4->label;
        var_4 = (local_c4->loc).line - var_52;
        var_59 = var_53(psVar10);
        var_55 = var_54(psVar10);
        var_62 = (type_8)var_55;
        var_60 = (int)(var_55 >> 0x20);
        if (var_56 == (type_4 *)0x0) {
LAB_0001d140:
          uVar40 = 0;
          var_18(0);
          var_29(var_30(var_27,uVar40));
          var_18(2);
          exp._16_1_ = 3;
          exp.X_add_number._0_4_ = 0;
          exp.X_add_number._4_4_ = 0;
          peVar41 = &exp;
          var_27 = (char *)var_77;
          exp.X_add_symbol = psVar10;
          var_16(&exp,var_77);
          var_57(var_4,var_30(var_27,peVar41));
        }
        else {
          if (((local_c4->loc).view == var_58) && (var_58 != (type_7 *)0x0)) {
            if (var_59 == var_56) {
              if (var_60 != var_61 || var_62 != var_63) goto LAB_0001c468;
            }
            else if ((var_60 != 0 || var_62 != 0) ||
                    (oVar39 = var_64(var_56,(type_3)&var_2->userdata),
                    var_65 = (int)((type_16)oVar39 >> 0x20),
                    var_21 = (type_8)(var_63 < (type_8)oVar39), var_67 = var_61 - var_65,
                    (var_66(var_61,var_65) != var_66(var_67,var_21)) !=
                    (int)(var_67 - var_21) < 0)) goto LAB_0001c478;
            goto LAB_0001d140;
          }
          if (var_59 == var_56) {
LAB_0001c468:
            if (var_68 != 0) goto LAB_0001c478;
            var_57(var_4,var_30(sec,psVar21));
          }
          else {
LAB_0001c478:
            var_69(var_4,psVar10,local_f8);
          }
        }
        var_71 = local_c4->next;
        var_52 = (local_c4->loc).line;
        var_70(local_c4);
        var_63 = var_62;
        var_61 = var_60;
        var_21 = var_46;
        var_50 = var_49;
        local_f8 = psVar10;
        var_45 = var_44;
        var_56 = var_59;
        local_c4 = var_71;
      } while (var_71 != (type_1 *)0x0);
                    /* WARNING: Load size is inaccurate */
      var_4 = *var_2->userdata;
      do {
        var_67 = var_4;
        var_4 = *(int *)(var_67 + 8);
      } while (var_4 != 0);
      var_72 = *(type_4 **)(var_67 + 4);
      var_55 = var_64(var_72,(type_3)&var_2->userdata);
      if ((var_59 == var_72) && (var_68 == 0)) {
        var_57(0x7fffffff,var_30(sec,psVar21));
      }
      else {
        var_27 = (char *)var_55;
        psVar11 = var_73(var_2,var_55,var_72);
        var_69(0x7fffffff,psVar11,psVar10);
      }
    }
  }
  if (var_37 != 0) {
    var_2 = var_42(".debug_line_end",0);
    var_43(var_2,0);
  }
  var_17(psVar21);
  if (!bVar34) {
    return;
  }
  if (var_5 == (type_12 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_74("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish");
  }
  var_2 = var_8(".debug_info",0);
  paVar14 = var_8(".debug_abbrev",0);
  paVar17 = var_8(".debug_aranges",0);
  secptr = var_8(".debug_str",0);
  var_9(stdoutput,var_2,0x2008);
  var_9(stdoutput,paVar14,0x2008);
  var_9(stdoutput,paVar17,0x2008);
  var_9(stdoutput,secptr,0x1802008);
  var_50 = var_77;
  secptr->entsize = 1;
  var_50 = var_50 * 2;
  var_21 = 0;
  if (var_50 != 0) {
    for (; (var_50 >> var_21 & 1) == 0; var_21 = var_21 + 1) {
    }
  }
  if (var_50 == 0) {
    var_21 = 0xffffffff;
  }
  var_75(paVar17,var_21);
  var_76 = (type_3)var_5->next;
  if (var_76 == (type_3)0x0) goto LAB_0001c984;
  var_76 = var_8(".debug_ranges",0);
  var_9(stdoutput,var_76,0x2008);
  var_50 = var_77 * 2;
  var_21 = 0;
  if (var_50 != 0) {
    for (; (var_50 >> var_21 & 1) == 0; var_21 = var_21 + 1) {
    }
  }
  if (var_50 == 0) {
    var_21 = 0xffffffff;
  }
  var_75(var_76,var_21);
  var_21 = var_77;
  var_43(var_76,0);
  if (var_21 == 0) {
    if (var_5 == (type_12 *)0x0) goto LAB_0001c984;
LAB_0001c840:
    var_10 = var_5;
    do {
                    /* WARNING: Load size is inaccurate */
      psVar10 = var_73(var_10->seg,0,(type_4 *)**var_10->seg->userdata);
      seg = var_10->seg;
      var_10->text_start = psVar10;
                    /* WARNING: Load size is inaccurate */
      var_4 = *seg->userdata;
      do {
        var_67 = var_4;
        var_4 = *(int *)(var_67 + 8);
      } while (var_4 != 0);
      var_59 = *(type_4 **)(var_67 + 4);
      var_55 = var_64(var_59,(type_3)&seg->userdata);
      psVar11 = var_73(seg,var_55,var_59);
      var_10->text_end = psVar11;
      exp._16_1_ = 3;
      exp.X_add_number._0_4_ = 0;
      exp.X_add_number._4_4_ = 0;
      exp.X_add_symbol = psVar10;
      var_16(&exp,var_21);
      exp._16_1_ = 3;
      exp.X_add_number._0_4_ = 0;
      exp.X_add_number._4_4_ = 0;
      exp.X_add_symbol = psVar11;
      var_16(&exp,var_21);
      var_10 = var_10->next;
    } while (var_10 != (type_12 *)0x0);
    if (var_21 == 0) goto LAB_0001c984;
  }
  else {
    var_50 = 0;
    do {
      var_50 = var_50 + 1;
      var_18(0xff);
    } while (var_21 != var_50);
    var_50 = 0;
    do {
      var_50 = var_50 + 1;
      var_18(0);
    } while (var_21 != var_50);
    if (var_5 != (type_12 *)0x0) goto LAB_0001c840;
  }
  var_50 = 0;
  do {
    var_50 = var_50 + 1;
    var_18(0);
  } while (var_21 != var_50);
  var_50 = 0;
  do {
    var_50 = var_50 + 1;
    var_18(0);
  } while (var_21 != var_50);
LAB_0001c984:
  var_21 = var_77;
  local_cc = &exp;
  var_44 = var_12(paVar17,&exp_1);
  var_4 = exp_1.X_add_number._4_4_;
  var_50 = (type_8)exp_1.X_add_number;
  psVar10 = exp_1.X_add_symbol;
  var_27 = var_13(2);
  var_14(var_27,2,2);
  exp.X_add_symbol = var_78(var_2);
  exp._16_1_ = 3;
  exp.X_add_number._0_4_ = 0;
  exp.X_add_number._4_4_ = 0;
  var_16(local_cc,var_44);
  var_49 = 2 - var_50;
  var_46 = var_44 + var_49;
  var_67 = ((int)var_44 >> 0x1f) + (-(type_8)(2 < var_50) - var_4) + (type_8)var_79(var_44,var_49);
  var_18(var_21);
  var_18(0);
  var_50 = var_46 + 3;
  var_4 = var_67 + (type_8)(0xfffffffc < var_46);
  nchars = var_21 * 2;
  uVar38 = var_80(var_46 + 2,var_67 + (type_8)(0xfffffffd < var_46),nchars,0);
  var_10 = var_5;
  if (-(int)((type_16)uVar38 >> 0x20) < (int)(type_8)((int)uVar38 != 0)) {
    do {
      var_18(0);
      bVar34 = 0xfffffffe < var_50;
      uVar38 = var_80(var_50,var_4,nchars,0);
      var_50 = var_50 + 1;
      var_4 = var_4 + (type_8)bVar34;
      var_10 = var_5;
    } while (-(int)((type_16)uVar38 >> 0x20) < (int)(type_8)((int)uVar38 != 0));
  }
  for (; var_10 != (type_12 *)0x0; var_10 = var_10->next) {
                    /* WARNING: Load size is inaccurate */
    psVar11 = var_73(var_10->seg,0,(type_4 *)**var_10->seg->userdata);
    paVar17 = var_10->seg;
    var_10->text_start = psVar11;
                    /* WARNING: Load size is inaccurate */
    var_4 = *paVar17->userdata;
    do {
      var_67 = var_4;
      var_4 = *(int *)(var_67 + 8);
    } while (var_4 != 0);
    var_59 = *(type_4 **)(var_67 + 4);
    var_55 = var_64(var_59,(type_3)&paVar17->userdata);
    psVar20 = var_73(paVar17,var_55,var_59);
    var_10->text_end = psVar20;
    exp_1._16_1_ = 3;
    exp_1.X_add_number._0_4_ = 0;
    exp_1.X_add_number._4_4_ = 0;
    exp_1.X_add_symbol = psVar11;
    var_16(&exp_1,var_21);
    exp_1._16_1_ = 0x14;
    exp_1.X_add_number._0_4_ = 0;
    exp_1.X_add_number._4_4_ = 0;
    exp_1.X_add_symbol = psVar20;
    exp_1.X_op_symbol = psVar11;
    var_16(&exp_1,var_21);
  }
  var_27 = var_13(nchars);
  var_14(var_27,0,var_21);
  var_14(var_27 + var_21,0,var_21);
  var_17(psVar10);
  uVar42 = 0;
  paVar17 = paVar14;
  var_43(paVar14,0);
  var_29(var_30(uVar42,paVar17));
  var_29(var_30(uVar42,paVar17));
  uVar40 = 0;
  var_18(0);
  var_29(var_30(uVar42,uVar40));
  var_29(var_30(uVar42,uVar40));
  if (var_5->next == (type_12 *)0x0) {
    var_29(var_30(sec,psVar21));
    var_29(var_30(sec,psVar21));
    var_29(var_30(sec,psVar21));
    var_29(var_30(sec,psVar21));
  }
  else {
    var_29(var_30(sec,psVar21));
    var_29(var_30(sec,psVar21));
  }
  var_29(var_30(sec,psVar21));
  var_29(var_30(sec,psVar21));
  var_29(var_30(sec,psVar21));
  var_29(var_30(sec,psVar21));
  var_29(var_30(sec,psVar21));
  var_29(var_30(sec,psVar21));
  var_29(var_30(sec,psVar21));
  var_29(var_30(sec,psVar21));
  var_29(var_30(sec,psVar21));
  var_29(var_30(sec,psVar21));
  var_18(0);
  var_43(secptr,0);
  psVar21 = var_81();
  if (var_26 != 0) {
    if (files[1].dir != 0) {
      var_27 = var_22(var_20[files[1].dir]);
      var_24 = var_23(var_27);
      var_28 = var_13(var_24 + 1);
      var_25(var_28,var_27,var_24);
      var_28[var_24] = '/';
    }
    var_24 = var_23(files[1].filename);
    var_27 = var_13(var_24 + 1);
    var_25(var_27,files[1].filename,var_24 + 1);
    psVar10 = var_81();
    var_27 = (char *)var_82();
    var_27 = var_22(var_27);
    var_24 = var_23(var_27);
    var_28 = var_13(var_24 + 1);
    var_25(var_28,var_27,var_24 + 1);
    psVar11 = var_81();
    var_83((char *)local_cc,"GNU AS %s","2.31.1");
    peVar41 = local_cc;
    do {
      peVar23 = peVar41;
      var_50 = (type_8)((int)&peVar23->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &
               ~(type_8)peVar23->X_add_symbol;
      var_21 = var_50 & 0x80808080;
      peVar41 = (type_9 *)&peVar23->X_op_symbol;
    } while (var_21 == 0);
    bVar34 = (var_50 & 0x8080) == 0;
    if (bVar34) {
      var_21 = var_21 >> 0x10;
    }
    ppsVar24 = &peVar23->X_op_symbol;
    if (bVar34) {
      ppsVar24 = (type_7 **)((int)&peVar23->X_op_symbol + 2);
    }
    var_21 = (int)ppsVar24 + (-(int)local_cc - (type_8)var_84((type_10)var_21,(type_10)var_21)) + -2;
    var_27 = var_13(var_21);
    if (var_21 < 4) {
      if (var_21 != 0) {
        *var_27 = (char)exp.X_add_symbol;
        if ((var_21 & 2) != 0) {
          *(type_17 *)(var_27 + (var_21 - 2)) = *(type_17 *)((int)&exp_1 + var_21 + 0x12);
        }
      }
    }
    else {
      *(type_7 **)var_27 = exp.X_add_symbol;
      *(type_11 *)(var_27 + (var_21 - 4)) = *(type_11 *)((int)&exp_1 + var_21 + 0x10);
      var_4 = (int)var_27 - (int)((type_8)(var_27 + 4) & 0xfffffffc);
      var_85 = (type_11 *)((int)local_cc - var_4);
      var_86 = (type_11 *)((type_8)(var_27 + 4) & 0xfffffffc);
      for (var_21 = var_4 + var_21 >> 2; var_21 != 0; var_21 = var_21 - 1) {
        *var_86 = *var_85;
        var_85 = var_85 + (type_8)bVar36 * -2 + 1;
        var_86 = var_86 + (type_8)bVar36 * -2 + 1;
      }
    }
    var_44 = var_12(var_2,&exp_1);
    psVar20 = exp_1.X_add_symbol;
    var_27 = var_13(2);
    var_14(var_27,2,2);
    exp.X_add_symbol = var_78(paVar14);
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    var_50 = var_44;
    var_16(local_cc,var_44);
    var_21 = var_77;
    var_18(var_77);
    var_29(var_30(var_50,var_21));
    exp.X_add_symbol = var_78(sec);
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    var_16(local_cc,4);
    if (var_5->next == (type_12 *)0x0) {
      exp_1.X_add_symbol = var_5->text_start;
      exp_1._16_1_ = 3;
      exp_1.X_add_number._0_4_ = 0;
      exp_1.X_add_number._4_4_ = 0;
      var_16(&exp_1,var_77);
      exp_1._16_1_ = 3;
      exp_1.X_add_symbol = var_5->text_end;
      exp_1.X_add_number._0_4_ = 0;
      exp_1.X_add_number._4_4_ = 0;
      var_16(&exp_1,var_77);
    }
    else {
      exp.X_add_symbol = var_78(var_76);
      exp._16_1_ = 3;
      exp.X_add_number._0_4_ = 0;
      exp.X_add_number._4_4_ = 0;
      var_16(local_cc,var_44);
    }
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    exp.X_add_symbol = psVar21;
    var_16(local_cc,var_44);
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    exp.X_add_symbol = psVar10;
    var_16(local_cc,var_44);
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    exp.X_add_symbol = psVar11;
    var_16(local_cc,var_44);
    var_27 = var_13(2);
    var_14(var_27,0x8001,2);
    var_17(psVar20);
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_74("../../gas/dwarf2dbg.c",0x830,"out_debug_str");
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Restarted to delay deadcode elimination for space: stack */

void MASKED(void)

{
  int *piVar1;
  int iVar2;
  longlong lVar3;
  undefined *puVar4;
  undefined1 auVar5 [4];
  int iVar6;
  undefined4 uVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  int iVar10;
  int iVar11;
  char *pcVar12;
  size_t sVar13;
  void *pvVar14;
  int iVar15;
  undefined4 uVar16;
  uint uVar17;
  uint uVar18;
  uint uVar19;
  uint *puVar20;
  undefined4 extraout_ECX;
  int iVar21;
  int iVar22;
  uint *puVar23;
  byte *pbVar24;
  uint uVar25;
  undefined4 *puVar26;
  uint uVar27;
  byte *pbVar28;
  int *piVar29;
  int iVar30;
  undefined4 *puVar31;
  bool bVar32;
  bool bVar33;
  bool bVar34;
  byte bVar35;
  longlong lVar36;
  undefined8 uVar37;
  uint local_10c;
  int local_108;
  uint local_100;
  int local_ec;
  int local_e8;
  int local_d0;
  uint *local_cc;
  int *local_c4;
  int local_b0;
  int local_ac;
  uint local_a8;
  undefined1 local_a4 [4];
  undefined1 local_a0 [4];
  uint local_9c [4];
  undefined1 local_8c;
  undefined4 uStack_14;
  
  bVar35 = 0;
  uStack_14 = 0x1be6b;
  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_info");
  bVar33 = true;
  if (iVar6 != 0) {
    iVar6 = FUN_00036d50(iVar6);
    bVar33 = iVar6 == 0;
  }
  iVar6 = bfd_get_section_by_name(DAT_00089944,".debug_line");
  if ((iVar6 != 0) && (iVar6 = FUN_00036d50(iVar6), iVar6 != 0)) {
    if (DAT_00088978 == (int *)0x0) {
      return;
    }
                    /* WARNING: Subroutine does not return */
    FUN_0002be00("duplicate .debug_line sections");
  }
  if ((DAT_00088978 == (int *)0x0) && (bVar33)) {
    return;
  }
  DAT_00088950 = FUN_00054100();
  uVar7 = FUN_00036b20(".debug_line",0);
  bfd_set_section_flags(DAT_00089944,uVar7,0x2008);
  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {
    puVar26 = (undefined4 *)((undefined4 *)piVar29[2])[3];
    for (puVar31 = *(undefined4 **)piVar29[2]; puVar31 != (undefined4 *)0x0;
        puVar31 = (undefined4 *)*puVar31) {
      *puVar26 = puVar31[2];
      puVar26 = (undefined4 *)puVar31[3];
    }
  }
  uVar8 = FUN_0001a5e0();
  iVar6 = local_b0;
  uVar9 = FUN_00024b20(2);
  FUN_000416b0(uVar9,2,0,2);
  iVar10 = FUN_00038f20();
  iVar11 = FUN_00038f20();
  local_a0[0] = 0x14;
  uVar27 = 1;
  local_a8 = 0;
  local_a4 = (undefined1  [4])0x0;
  local_b0 = iVar11;
  local_ac = iVar10;
  FUN_00031660(&local_b0,uVar8);
  FUN_0003b7e0(iVar10);
  FUN_00024e20(1);
  FUN_00024e20(1);
  FUN_00024e20(0xfffffffb);
  FUN_00024e20(0xe);
  FUN_00024e20(0xd);
  FUN_00024e20(0);
  FUN_00024e20(1);
  FUN_00024e20(1);
  FUN_00024e20(1);
  FUN_00024e20(1);
  FUN_00024e20(0);
  FUN_00024e20(0);
  FUN_00024e20(0);
  FUN_00024e20(1);
  FUN_00024e20(0);
  FUN_00024e20(0);
  FUN_00024e20(1);
  if (1 < DAT_00088960) {
    do {
      iVar10 = uVar27 * 4;
      uVar27 = uVar27 + 1;
      pcVar12 = (char *)FUN_00035620(*(undefined4 *)(DAT_00088964 + iVar10));
      sVar13 = strlen(pcVar12);
      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);
      memcpy(pvVar14,pcVar12,sVar13 + 1);
    } while (uVar27 < DAT_00088960);
  }
  uVar27 = 1;
  FUN_00024e20(0);
  if (1 < DAT_0008896c) {
    do {
      while (pcVar12 = *(char **)(DAT_00088970 + uVar27 * 8), pcVar12 != (char *)0x0) {
        sVar13 = strlen(pcVar12);
        pvVar14 = (void *)FUN_00024b20(sVar13 + 1);
        memcpy(pvVar14,pcVar12,sVar13 + 1);
        uVar27 = uVar27 + 1;
        FUN_0001a680();
        FUN_0001a680();
        FUN_0001a680();
        if (DAT_0008896c <= uVar27) goto LAB_0001c228;
      }
      uVar8 = dcgettext(0,"unassigned file number %ld",5);
      FUN_0002bd60(uVar8,uVar27);
      *(undefined **)(DAT_00088970 + uVar27 * 8) = &DAT_0005db05;
      uVar27 = uVar27 + 1;
    } while (uVar27 < DAT_0008896c);
  }
LAB_0001c228:
  FUN_00024e20(0);
  FUN_0003b7e0(iVar11);
  puVar4 = PTR__bfd_std_section_0007ffb0;
  for (piVar29 = DAT_00088978; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {
    puVar26 = (undefined4 *)piVar29[1];
    if ((((puVar26 == (undefined4 *)(puVar4 + 0xc0)) || (puVar26 == (undefined4 *)(puVar4 + 0x180)))
        || (puVar26 == DAT_000897ec)) || (puVar26 == DAT_00089720)) {
      FUN_0002bc80("dwarf line number information for %s ignored",*puVar26);
    }
    else {
      local_c4 = *(int **)(piVar29[2] + 8);
      bVar32 = false;
      bVar34 = DAT_000897f0 == 0;
      if (!bVar34) {
        iVar10 = 6;
        pbVar24 = (byte *)*puVar26;
        pbVar28 = (byte *)".text";
        do {
          if (iVar10 == 0) break;
          iVar10 = iVar10 + -1;
          bVar32 = *pbVar24 < *pbVar28;
          bVar34 = *pbVar24 == *pbVar28;
          pbVar24 = pbVar24 + (uint)bVar35 * -2 + 1;
          pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;
        } while (bVar34);
        pcVar12 = ".debug_line";
        if ((!bVar32 && !bVar34) != bVar32) {
          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);
        }
        uVar8 = FUN_00036a60(pcVar12,0);
        FUN_00036b80(uVar8,0);
      }
      local_d0 = 0;
      local_100 = 1;
      local_e8 = 1;
      iVar10 = 0;
      iVar11 = 0;
      lVar3 = 0;
      do {
        local_108 = (int)((ulonglong)lVar3 >> 0x20);
        local_10c = (uint)lVar3;
        iVar2 = local_c4[2];
        if (iVar2 != local_e8) {
          FUN_00024e20(4);
          FUN_0001a680();
        }
        iVar30 = local_c4[4];
        if (iVar30 != iVar10) {
          FUN_00024e20(5);
          FUN_0001a680();
        }
        if (local_c4[7] != 0) {
          FUN_00024e20(0);
          iVar10 = FUN_00031e30(local_c4[7],0,0);
          uVar8 = FUN_00031e30(iVar10 + 1,0,1);
          uVar8 = FUN_00024b20(uVar8);
          FUN_00031e70(uVar8,iVar10 + 1,0,1);
          FUN_00024e20(4);
          FUN_0001a680();
        }
        iVar21 = local_c4[5];
        if (iVar21 != iVar11) {
          FUN_00024e20(0xc);
          FUN_0001a680();
        }
        uVar27 = local_c4[6];
        uVar17 = uVar27;
        if (((local_100 ^ uVar27) & 1) != 0) {
          FUN_00024e20(6);
          uVar17 = local_c4[6];
          local_100 = uVar27;
        }
        if ((uVar17 & 2) != 0) {
          FUN_00024e20(7);
          uVar17 = local_c4[6];
        }
        if ((uVar17 & 4) != 0) {
          FUN_00024e20(10);
          uVar17 = local_c4[6];
        }
        if ((uVar17 & 8) != 0) {
          FUN_00024e20(0xb);
        }
        uVar27 = local_c4[1];
        iVar15 = FUN_0003b830(uVar27);
        lVar36 = FUN_0003a3c0(uVar27);
        if (local_d0 == 0) {
LAB_0001d140:
          FUN_00024e20(0);
          FUN_0001a680();
          FUN_00024e20(2);
          local_8c = 3;
          local_9c[2] = 0;
          local_9c[3] = 0;
          local_9c[0] = uVar27;
          FUN_00031660(local_9c,DAT_00088950);
          FUN_0001ade0();
        }
        else {
          if ((local_c4[8] == DAT_00088958) && (DAT_00088958 != 0)) {
            if (iVar15 == local_d0) {
              if (lVar36 != lVar3) goto LAB_0001c468;
            }
            else if ((lVar36 != 0) ||
                    (uVar37 = FUN_0001a6c0(), iVar11 = (int)((ulonglong)uVar37 >> 0x20),
                    uVar17 = (uint)(local_10c < (uint)uVar37), iVar10 = local_108 - iVar11,
                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar17)) !=
                    (int)(iVar10 - uVar17) < 0)) goto LAB_0001c478;
            goto LAB_0001d140;
          }
          if (iVar15 == local_d0) {
LAB_0001c468:
            if (DAT_00089740 != 0) goto LAB_0001c478;
            FUN_0001ade0();
          }
          else {
LAB_0001c478:
            FUN_0001ae30();
          }
        }
        piVar1 = (int *)*local_c4;
        free(local_c4);
        iVar10 = iVar30;
        iVar11 = iVar21;
        local_e8 = iVar2;
        local_d0 = iVar15;
        local_c4 = piVar1;
        lVar3 = lVar36;
      } while (piVar1 != (int *)0x0);
      iVar10 = *(int *)puVar26[0x20];
      do {
        iVar11 = iVar10;
        iVar10 = *(int *)(iVar11 + 8);
      } while (iVar10 != 0);
      iVar10 = *(int *)(iVar11 + 4);
      uVar37 = FUN_0001a6c0();
      if ((iVar15 == iVar10) && (DAT_00089740 == 0)) {
        FUN_0001ade0();
      }
      else {
        FUN_00038f40(puVar26,uVar37,iVar10);
        FUN_0001ae30();
      }
    }
  }
  if (DAT_000897f0 != 0) {
    uVar8 = FUN_00036a60(".debug_line_end",0);
    FUN_00036b80(uVar8,0);
  }
  FUN_0003b7e0(iVar6);
  if (!bVar33) {
    return;
  }
  if (DAT_00088978 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    FUN_0002be80("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);
  }
  uVar8 = FUN_00036b20(".debug_info",0);
  uVar9 = FUN_00036b20(".debug_abbrev",0);
  uVar16 = FUN_00036b20(".debug_aranges",0);
  iVar10 = FUN_00036b20(".debug_str",0);
  bfd_set_section_flags(DAT_00089944,uVar8,0x2008);
  bfd_set_section_flags(DAT_00089944,uVar9,0x2008);
  bfd_set_section_flags(DAT_00089944,uVar16,0x2008);
  bfd_set_section_flags(DAT_00089944,iVar10,0x1802008);
  iVar6 = DAT_00088950;
  *(undefined4 *)(iVar10 + 0x90) = 1;
  uVar27 = iVar6 * 2;
  iVar6 = 0;
  if (uVar27 != 0) {
    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {
    }
  }
  if (uVar27 == 0) {
    iVar6 = -1;
  }
  FUN_0003f680(uVar16,iVar6);
  local_ec = *DAT_00088978;
  if (local_ec == 0) goto LAB_0001c984;
  local_ec = FUN_00036b20(".debug_ranges",0);
  bfd_set_section_flags(DAT_00089944,local_ec,0x2008);
  uVar27 = DAT_00088950 * 2;
  iVar6 = 0;
  if (uVar27 != 0) {
    for (; (uVar27 >> iVar6 & 1) == 0; iVar6 = iVar6 + 1) {
    }
  }
  if (uVar27 == 0) {
    iVar6 = -1;
  }
  FUN_0003f680(local_ec,iVar6);
  iVar6 = DAT_00088950;
  FUN_00036b80(local_ec,0);
  if (iVar6 == 0) {
    if (DAT_00088978 == (int *)0x0) goto LAB_0001c984;
LAB_0001c840:
    piVar29 = DAT_00088978;
    do {
      uVar27 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));
      iVar11 = piVar29[1];
      piVar29[3] = uVar27;
      iVar2 = **(int **)(iVar11 + 0x80);
      do {
        iVar30 = iVar2;
        iVar2 = *(int *)(iVar30 + 8);
      } while (iVar2 != 0);
      uVar16 = *(undefined4 *)(iVar30 + 4);
      uVar37 = FUN_0001a6c0();
      uVar17 = FUN_00038f40(iVar11,uVar37,uVar16);
      piVar29[4] = uVar17;
      local_8c = 3;
      local_9c[2] = 0;
      local_9c[3] = 0;
      local_9c[0] = uVar27;
      FUN_00031660(local_9c,iVar6);
      local_8c = 3;
      local_9c[2] = 0;
      local_9c[3] = 0;
      local_9c[0] = uVar17;
      FUN_00031660(local_9c,iVar6);
      piVar29 = (int *)*piVar29;
    } while (piVar29 != (int *)0x0);
    if (iVar6 == 0) goto LAB_0001c984;
  }
  else {
    iVar11 = 0;
    do {
      iVar11 = iVar11 + 1;
      FUN_00024e20(0xff);
    } while (iVar6 != iVar11);
    iVar11 = 0;
    do {
      iVar11 = iVar11 + 1;
      FUN_00024e20(0);
    } while (iVar6 != iVar11);
    if (DAT_00088978 != (int *)0x0) goto LAB_0001c840;
  }
  iVar11 = 0;
  do {
    iVar11 = iVar11 + 1;
    FUN_00024e20(0);
  } while (iVar6 != iVar11);
  iVar11 = 0;
  do {
    iVar11 = iVar11 + 1;
    FUN_00024e20(0);
  } while (iVar6 != iVar11);
LAB_0001c984:
  iVar11 = DAT_00088950;
  local_cc = local_9c;
  uVar17 = FUN_0001a5e0();
  auVar5 = local_a4;
  uVar27 = local_a8;
  iVar2 = local_b0;
  uVar16 = FUN_00024b20(2);
  FUN_000416b0(uVar16,2,0,2);
  local_9c[0] = FUN_00036bd0(uVar8);
  local_8c = 3;
  local_9c[2] = 0;
  local_9c[3] = 0;
  FUN_00031660(local_cc,uVar17);
  uVar25 = 2 - uVar27;
  uVar18 = uVar17 + uVar25;
  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar27) - (int)auVar5) + (uint)CARRY4(uVar17,uVar25)
  ;
  FUN_00024e20(iVar11);
  FUN_00024e20(0);
  uVar27 = uVar18 + 3;
  iVar30 = iVar21 + (uint)(0xfffffffc < uVar18);
  iVar6 = iVar11 * 2;
  uVar37 = FUN_00059b60(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar6,0);
  piVar29 = DAT_00088978;
  if (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0)) {
    do {
      FUN_00024e20(0);
      bVar33 = 0xfffffffe < uVar27;
      uVar37 = FUN_00059b60(uVar27,iVar30,iVar6,0);
      uVar27 = uVar27 + 1;
      iVar30 = iVar30 + (uint)bVar33;
      piVar29 = DAT_00088978;
    } while (-(int)((ulonglong)uVar37 >> 0x20) < (int)(uint)((int)uVar37 != 0));
  }
  for (; piVar29 != (int *)0x0; piVar29 = (int *)*piVar29) {
    iVar15 = FUN_00038f40(piVar29[1],0,0,*(undefined4 *)**(undefined4 **)(piVar29[1] + 0x80));
    iVar30 = piVar29[1];
    piVar29[3] = iVar15;
    iVar21 = **(int **)(iVar30 + 0x80);
    do {
      iVar22 = iVar21;
      iVar21 = *(int *)(iVar22 + 8);
    } while (iVar21 != 0);
    uVar8 = *(undefined4 *)(iVar22 + 4);
    uVar37 = FUN_0001a6c0();
    iVar30 = FUN_00038f40(iVar30,uVar37,uVar8);
    piVar29[4] = iVar30;
    local_a0[0] = 3;
    local_a8 = 0;
    local_a4 = (undefined1  [4])0x0;
    local_b0 = iVar15;
    FUN_00031660(&local_b0,iVar11);
    local_a0[0] = 0x14;
    local_a8 = 0;
    local_a4 = (undefined1  [4])0x0;
    local_b0 = iVar30;
    local_ac = iVar15;
    FUN_00031660(&local_b0,iVar11);
  }
  iVar6 = FUN_00024b20(iVar6);
  FUN_000416b0(iVar6,0,0,iVar11);
  FUN_000416b0(iVar6 + iVar11,0,0,iVar11);
  FUN_0003b7e0(iVar2);
  FUN_00036b80(uVar9,0);
  FUN_0001a680();
  FUN_0001a680();
  FUN_00024e20(0);
  FUN_0001a680();
  FUN_0001a680();
  if (*DAT_00088978 == 0) {
    FUN_0001a680();
    FUN_0001a680();
    FUN_0001a680();
    FUN_0001a680();
  }
  else {
    FUN_0001a680();
    FUN_0001a680();
  }
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_0001a680();
  FUN_00024e20(0);
  FUN_00036b80(iVar10,0);
  uVar27 = FUN_00038f70();
  if (DAT_0008896c != 0) {
    if (*(int *)(DAT_00088970 + 0xc) != 0) {
      pcVar12 = (char *)FUN_00035620(*(undefined4 *)
                                      (DAT_00088964 + *(int *)(DAT_00088970 + 0xc) * 4));
      sVar13 = strlen(pcVar12);
      pvVar14 = (void *)FUN_00024b20(sVar13 + 1);
      memcpy(pvVar14,pcVar12,sVar13);
      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;
    }
    sVar13 = strlen(*(char **)(DAT_00088970 + 8));
    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);
    memcpy(pvVar14,*(void **)(DAT_00088970 + 8),sVar13 + 1);
    uVar17 = FUN_00038f70();
    uVar8 = getpwd();
    pcVar12 = (char *)FUN_00035620(uVar8);
    sVar13 = strlen(pcVar12);
    pvVar14 = (void *)FUN_00024b20(sVar13 + 1);
    memcpy(pvVar14,pcVar12,sVar13 + 1);
    uVar18 = FUN_00038f70();
    sprintf((char *)local_cc,"GNU AS %s","2.31.1");
    puVar20 = local_cc;
    do {
      puVar23 = puVar20;
      uVar19 = *puVar23 + 0xfefefeff & ~*puVar23;
      uVar25 = uVar19 & 0x80808080;
      puVar20 = puVar23 + 1;
    } while (uVar25 == 0);
    bVar33 = (uVar19 & 0x8080) == 0;
    if (bVar33) {
      uVar25 = uVar25 >> 0x10;
    }
    if (bVar33) {
      puVar20 = (uint *)((int)puVar23 + 6);
    }
    uVar25 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar25,(byte)uVar25)) + -2;
    puVar20 = (uint *)FUN_00024b20(uVar25);
    if (uVar25 < 4) {
      if (uVar25 != 0) {
        *(undefined1 *)puVar20 = (undefined1)local_9c[0];
        if ((uVar25 & 2) != 0) {
          *(undefined2 *)((int)puVar20 + (uVar25 - 2)) = *(undefined2 *)(local_a0 + uVar25 + 2);
        }
      }
    }
    else {
      *puVar20 = local_9c[0];
      *(undefined4 *)((int)puVar20 + (uVar25 - 4)) = *(undefined4 *)(local_a0 + uVar25);
      iVar6 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);
      puVar26 = (undefined4 *)((int)local_cc - iVar6);
      puVar31 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);
      for (uVar25 = iVar6 + uVar25 >> 2; uVar25 != 0; uVar25 = uVar25 - 1) {
        *puVar31 = *puVar26;
        puVar26 = puVar26 + (uint)bVar35 * -2 + 1;
        puVar31 = puVar31 + (uint)bVar35 * -2 + 1;
      }
    }
    uVar8 = FUN_0001a5e0();
    iVar6 = local_b0;
    uVar16 = FUN_00024b20(2);
    FUN_000416b0(uVar16,2,0,2);
    local_9c[0] = FUN_00036bd0(uVar9);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    FUN_00031660(local_cc,uVar8);
    FUN_00024e20(DAT_00088950);
    FUN_0001a680();
    local_9c[0] = FUN_00036bd0(uVar7);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    FUN_00031660(local_cc,4);
    if (*DAT_00088978 == 0) {
      local_b0 = DAT_00088978[3];
      local_a0[0] = 3;
      local_a8 = 0;
      local_a4 = (undefined1  [4])0x0;
      FUN_00031660(&local_b0,DAT_00088950);
      local_a0[0] = 3;
      local_b0 = DAT_00088978[4];
      local_a8 = 0;
      local_a4 = (undefined1  [4])0x0;
      FUN_00031660(&local_b0,DAT_00088950);
    }
    else {
      local_9c[0] = FUN_00036bd0(local_ec);
      local_8c = 3;
      local_9c[2] = 0;
      local_9c[3] = 0;
      FUN_00031660(local_cc,uVar8);
    }
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    local_9c[0] = uVar27;
    FUN_00031660(local_cc,uVar8);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    local_9c[0] = uVar17;
    FUN_00031660(local_cc,uVar8);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    local_9c[0] = uVar18;
    FUN_00031660(local_cc,uVar8);
    uVar7 = FUN_00024b20(2);
    FUN_000416b0(uVar7,0x8001,0,2);
    FUN_0003b7e0(iVar6);
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002be80("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar6 + iVar11);
}

