
/* 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;
  uint uVar8;
  asection *sec;
  char *pcVar9;
  char *pcVar10;
  symbolS *psVar11;
  symbolS *psVar12;
  size_t sVar13;
  char *pcVar14;
  segT paVar15;
  fragS *pfVar16;
  uint uVar17;
  segT paVar18;
  segT secptr;
  uint uVar19;
  uint uVar20;
  symbolS *psVar21;
  symbolS *psVar22;
  int iVar23;
  expressionS *peVar24;
  symbolS **ppsVar25;
  int iVar26;
  byte *pbVar27;
  uint uVar28;
  undefined4 *puVar29;
  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;
  }
  uVar8 = bfd_arch_bits_per_address(stdoutput);
  sizeof_address = uVar8 >> 3;
  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;
    }
  }
  pcVar9 = (char *)out_header(sec,&exp_1);
  pcVar10 = frag_more(2);
  md_number_to_chars(pcVar10,2,2);
  psVar11 = symbol_temp_make();
  psVar12 = symbol_temp_make();
  exp_1._16_1_ = 0x14;
  exp_1.X_add_number._0_4_ = 0;
  exp_1.X_add_number._4_4_ = 0;
  psVar22 = exp_1.X_add_symbol;
  exp_1.X_add_symbol = psVar12;
  exp_1.X_op_symbol = psVar11;
  emit_expr(&exp_1,(uint)pcVar9);
  symbol_set_value_now(psVar11);
  uVar8 = 1;
  frag_append_1_char(ppc_dwarf2_line_min_insn_length);
  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 + uVar8;
      uVar8 = uVar8 + 1;
      pcVar9 = remap_debug_filename(*ppcVar1);
      sVar13 = strlen(pcVar9);
      pcVar10 = frag_more(sVar13 + 1);
      memcpy(pcVar10,pcVar9,sVar13 + 1);
    } while (uVar8 < dirs_in_use);
  }
  pcVar10 = (char *)0x1;
  frag_append_1_char(0);
  if (1 < files_in_use) {
    do {
      while (pcVar9 = files[(int)pcVar10].filename, pcVar9 != (char *)0x0) {
        sVar13 = strlen(pcVar9);
        pcVar14 = frag_more(sVar13 + 1);
        memcpy(pcVar14,pcVar9,sVar13 + 1);
        pcVar10 = pcVar10 + 1;
        out_uleb128(CONCAT44(pcVar9,pcVar14));
        out_uleb128(CONCAT44(pcVar9,pcVar14));
        out_uleb128(CONCAT44(pcVar9,pcVar14));
        if (files_in_use <= pcVar10) goto LAB_0001c398;
      }
      pcVar14 = (char *)dcgettext(0,"unassigned file number %ld",5);
      pcVar9 = pcVar10;
      as_bad(pcVar14);
      files[(int)pcVar10].filename = "";
      pcVar10 = pcVar10 + 1;
    } while (pcVar10 < files_in_use);
  }
LAB_0001c398:
  frag_append_1_char(0);
  symbol_set_value_now(psVar12);
  puVar5 = PTR__bfd_std_section_0006efb4;
  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)) {
      pcVar9 = 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;
        pbVar27 = (byte *)paVar6->name;
        pbVar30 = &DAT_0004e3b5;
        do {
          if (iVar7 == 0) break;
          iVar7 = iVar7 + -1;
          bVar33 = *pbVar27 < *pbVar30;
          bVar35 = *pbVar27 == *pbVar30;
          pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1;
          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;
        } while (bVar35);
        pcVar9 = ".debug_line";
        if ((!bVar33 && !bVar35) != bVar33) {
          pcVar9 = (char *)concat(".debug_line",paVar6->name,0);
        }
        paVar15 = subseg_get(pcVar9,0);
        pcVar9 = (char *)0x0;
        subseg_set(paVar15,0);
      }
      local_f8 = (symbolS *)0x0;
      local_10c = 0;
      local_108 = 0;
      local_d0 = (fragS *)0x0;
      local_100 = 1;
      local_d4 = 1;
      local_e8 = 1;
      uVar8 = 0;
      uVar28 = 0;
      do {
        uVar19 = (local_c4->loc).filenum;
        if (uVar19 != local_e8) {
          uVar40 = 4;
          frag_append_1_char(4);
          out_uleb128(CONCAT44(pcVar9,uVar40));
        }
        uVar20 = (local_c4->loc).column;
        if (uVar20 != uVar8) {
          uVar40 = 5;
          frag_append_1_char(5);
          out_uleb128(CONCAT44(pcVar9,uVar40));
        }
        if ((local_c4->loc).discriminator != 0) {
          frag_append_1_char(0);
          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);
          pcVar9 = (char *)0x0;
          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);
          pcVar10 = frag_more(uVar17);
          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);
          uVar40 = 4;
          frag_append_1_char(4);
          out_uleb128(CONCAT44(pcVar9,uVar40));
        }
        uVar17 = (local_c4->loc).isa;
        if (uVar17 != uVar28) {
          uVar40 = 0xc;
          frag_append_1_char(0xc);
          out_uleb128(CONCAT44(pcVar9,uVar40));
        }
        uVar8 = (local_c4->loc).flags;
        uVar28 = uVar8;
        if (((local_100 ^ uVar8) & 1) != 0) {
          frag_append_1_char(6);
          uVar28 = (local_c4->loc).flags;
          local_100 = uVar8;
        }
        if ((uVar28 & 2) != 0) {
          frag_append_1_char(7);
          uVar28 = (local_c4->loc).flags;
        }
        if ((uVar28 & 4) != 0) {
          frag_append_1_char(10);
          uVar28 = (local_c4->loc).flags;
        }
        if ((uVar28 & 8) != 0) {
          frag_append_1_char(0xb);
        }
        psVar11 = local_c4->label;
        iVar7 = (local_c4->loc).line - local_d4;
        pfVar16 = symbol_get_frag(psVar11);
        vVar37 = S_GET_VALUE(psVar11);
        local_e4 = (uint)vVar37;
        local_e0 = (int)(vVar37 >> 0x20);
        if (local_d0 == (fragS *)0x0) {
LAB_0001d2b0:
          uVar40 = 0;
          frag_append_1_char(0);
          out_uleb128(CONCAT44(pcVar9,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;
          pcVar9 = (char *)sizeof_address;
          exp.X_add_symbol = psVar11;
          emit_expr(&exp,sizeof_address);
          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));
        }
        else {
          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {
            if (pfVar16 == local_d0) {
              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;
            }
            else if ((local_e0 != 0 || local_e4 != 0) ||
                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),
                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),
                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,
                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=
                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;
            goto LAB_0001d2b0;
          }
          if (pfVar16 == local_d0) {
LAB_0001c5d8:
            if (linkrelax != 0) goto LAB_0001c5e8;
            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));
          }
          else {
LAB_0001c5e8:
            relax_inc_line_addr(iVar7,psVar11,local_f8);
          }
        }
        plVar4 = local_c4->next;
        local_d4 = (local_c4->loc).line;
        free(local_c4);
        local_10c = local_e4;
        local_108 = local_e0;
        uVar8 = uVar20;
        uVar28 = uVar17;
        local_f8 = psVar11;
        local_e8 = uVar19;
        local_d0 = pfVar16;
        local_c4 = plVar4;
      } while (plVar4 != (line_entry *)0x0);
                    /* WARNING: Load size is inaccurate */
      iVar7 = *paVar6->userdata;
      do {
        iVar23 = iVar7;
        iVar7 = *(int *)(iVar23 + 8);
      } while (iVar7 != 0);
      frag = *(fragS **)(iVar23 + 4);
      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);
      if ((pfVar16 == frag) && (linkrelax == 0)) {
        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22));
      }
      else {
        pcVar9 = (char *)vVar37;
        psVar12 = symbol_temp_new(paVar6,vVar37,frag);
        relax_inc_line_addr(0x7fffffff,psVar12,psVar11);
      }
    }
  }
  if (flag_dwarf_sections != 0) {
    paVar6 = subseg_get(".debug_line_end",0);
    subseg_set(paVar6,0);
  }
  symbol_set_value_now(psVar22);
  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);
  paVar15 = subseg_new(".debug_abbrev",0);
  paVar18 = subseg_new(".debug_aranges",0);
  secptr = subseg_new(".debug_str",0);
  bfd_set_section_flags(stdoutput,paVar6,0x2008);
  bfd_set_section_flags(stdoutput,paVar15,0x2008);
  bfd_set_section_flags(stdoutput,paVar18,0x2008);
  bfd_set_section_flags(stdoutput,secptr,0x1802008);
  uVar28 = sizeof_address;
  secptr->entsize = 1;
  uVar28 = uVar28 * 2;
  uVar8 = 0;
  if (uVar28 != 0) {
    for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {
    }
  }
  if (uVar28 == 0) {
    uVar8 = 0xffffffff;
  }
  record_alignment(paVar18,uVar8);
  local_ec = (segT)all_segs->next;
  if (local_ec == (segT)0x0) goto LAB_0001caf4;
  local_ec = subseg_new(".debug_ranges",0);
  bfd_set_section_flags(stdoutput,local_ec,0x2008);
  uVar28 = sizeof_address * 2;
  uVar8 = 0;
  if (uVar28 != 0) {
    for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {
    }
  }
  if (uVar28 == 0) {
    uVar8 = 0xffffffff;
  }
  record_alignment(local_ec,uVar8);
  uVar8 = sizeof_address;
  subseg_set(local_ec,0);
  if (uVar8 == 0) {
    if (all_segs == (line_seg *)0x0) goto LAB_0001caf4;
LAB_0001c9b0:
    plVar31 = all_segs;
    do {
                    /* WARNING: Load size is inaccurate */
      psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);
      seg = plVar31->seg;
      plVar31->text_start = psVar11;
                    /* WARNING: Load size is inaccurate */
      iVar7 = *seg->userdata;
      do {
        iVar23 = iVar7;
        iVar7 = *(int *)(iVar23 + 8);
      } while (iVar7 != 0);
      pfVar16 = *(fragS **)(iVar23 + 4);
      vVar37 = get_frag_fix(pfVar16,(segT)&seg->userdata);
      psVar12 = symbol_temp_new(seg,vVar37,pfVar16);
      plVar31->text_end = psVar12;
      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,uVar8);
      exp._16_1_ = 3;
      exp.X_add_number._0_4_ = 0;
      exp.X_add_number._4_4_ = 0;
      exp.X_add_symbol = psVar12;
      emit_expr(&exp,uVar8);
      plVar31 = plVar31->next;
    } while (plVar31 != (line_seg *)0x0);
    if (uVar8 == 0) goto LAB_0001caf4;
  }
  else {
    uVar28 = 0;
    do {
      uVar28 = uVar28 + 1;
      frag_append_1_char(0xff);
    } while (uVar8 != uVar28);
    uVar28 = 0;
    do {
      uVar28 = uVar28 + 1;
      frag_append_1_char(0);
    } while (uVar8 != uVar28);
    if (all_segs != (line_seg *)0x0) goto LAB_0001c9b0;
  }
  uVar28 = 0;
  do {
    uVar28 = uVar28 + 1;
    frag_append_1_char(0);
  } while (uVar8 != uVar28);
  uVar28 = 0;
  do {
    uVar28 = uVar28 + 1;
    frag_append_1_char(0);
  } while (uVar8 != uVar28);
LAB_0001caf4:
  uVar8 = sizeof_address;
  local_cc = &exp;
  uVar19 = out_header(paVar18,&exp_1);
  iVar7 = exp_1.X_add_number._4_4_;
  uVar28 = (uint)exp_1.X_add_number;
  psVar11 = exp_1.X_add_symbol;
  pcVar9 = frag_more(2);
  md_number_to_chars(pcVar9,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,uVar19);
  uVar17 = 2 - uVar28;
  uVar20 = uVar19 + uVar17;
  iVar23 = ((int)uVar19 >> 0x1f) + (-(uint)(2 < uVar28) - iVar7) + (uint)CARRY4(uVar19,uVar17);
  frag_append_1_char(uVar8);
  frag_append_1_char(0);
  uVar28 = uVar20 + 3;
  iVar7 = iVar23 + (uint)(0xfffffffc < uVar20);
  nchars = uVar8 * 2;
  uVar38 = __moddi3(uVar20 + 2,iVar23 + (uint)(0xfffffffd < uVar20),nchars,0);
  plVar31 = all_segs;
  if (-(int)((ulonglong)uVar38 >> 0x20) < (int)(uint)((int)uVar38 != 0)) {
    do {
      frag_append_1_char(0);
      bVar34 = 0xfffffffe < uVar28;
      uVar38 = __moddi3(uVar28,iVar7,nchars,0);
      uVar28 = uVar28 + 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 */
    psVar12 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);
    paVar18 = plVar31->seg;
    plVar31->text_start = psVar12;
                    /* WARNING: Load size is inaccurate */
    iVar7 = *paVar18->userdata;
    do {
      iVar23 = iVar7;
      iVar7 = *(int *)(iVar23 + 8);
    } while (iVar7 != 0);
    pfVar16 = *(fragS **)(iVar23 + 4);
    vVar37 = get_frag_fix(pfVar16,(segT)&paVar18->userdata);
    psVar21 = symbol_temp_new(paVar18,vVar37,pfVar16);
    plVar31->text_end = psVar21;
    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 = psVar12;
    emit_expr(&exp_1,uVar8);
    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 = psVar21;
    exp_1.X_op_symbol = psVar12;
    emit_expr(&exp_1,uVar8);
  }
  pcVar9 = frag_more(nchars);
  md_number_to_chars(pcVar9,0,uVar8);
  md_number_to_chars(pcVar9 + uVar8,0,uVar8);
  symbol_set_value_now(psVar11);
  uVar42 = 0;
  paVar18 = paVar15;
  subseg_set(paVar15,0);
  out_uleb128(CONCAT44(uVar42,paVar18));
  out_uleb128(CONCAT44(uVar42,paVar18));
  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,psVar22));
    out_uleb128(CONCAT44(sec,psVar22));
    out_uleb128(CONCAT44(sec,psVar22));
    out_uleb128(CONCAT44(sec,psVar22));
  }
  else {
    out_uleb128(CONCAT44(sec,psVar22));
    out_uleb128(CONCAT44(sec,psVar22));
  }
  out_uleb128(CONCAT44(sec,psVar22));
  out_uleb128(CONCAT44(sec,psVar22));
  out_uleb128(CONCAT44(sec,psVar22));
  out_uleb128(CONCAT44(sec,psVar22));
  out_uleb128(CONCAT44(sec,psVar22));
  out_uleb128(CONCAT44(sec,psVar22));
  out_uleb128(CONCAT44(sec,psVar22));
  out_uleb128(CONCAT44(sec,psVar22));
  out_uleb128(CONCAT44(sec,psVar22));
  out_uleb128(CONCAT44(sec,psVar22));
  frag_append_1_char(0);
  subseg_set(secptr,0);
  psVar22 = symbol_temp_new_now();
  if (files_in_use != 0) {
    if (files[1].dir != 0) {
      pcVar9 = remap_debug_filename(dirs[files[1].dir]);
      sVar13 = strlen(pcVar9);
      pcVar10 = frag_more(sVar13 + 1);
      memcpy(pcVar10,pcVar9,sVar13);
      pcVar10[sVar13] = '/';
    }
    sVar13 = strlen(files[1].filename);
    pcVar9 = frag_more(sVar13 + 1);
    memcpy(pcVar9,files[1].filename,sVar13 + 1);
    psVar11 = symbol_temp_new_now();
    pcVar9 = (char *)getpwd();
    pcVar9 = remap_debug_filename(pcVar9);
    sVar13 = strlen(pcVar9);
    pcVar10 = frag_more(sVar13 + 1);
    memcpy(pcVar10,pcVar9,sVar13 + 1);
    psVar12 = symbol_temp_new_now();
    sprintf((char *)local_cc,"GNU AS %s","2.31.1");
    peVar41 = local_cc;
    do {
      peVar24 = peVar41;
      uVar28 = (uint)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &
               ~(uint)peVar24->X_add_symbol;
      uVar8 = uVar28 & 0x80808080;
      peVar41 = (expressionS *)&peVar24->X_op_symbol;
    } while (uVar8 == 0);
    bVar34 = (uVar28 & 0x8080) == 0;
    if (bVar34) {
      uVar8 = uVar8 >> 0x10;
    }
    ppsVar25 = &peVar24->X_op_symbol;
    if (bVar34) {
      ppsVar25 = (symbolS **)((int)&peVar24->X_op_symbol + 2);
    }
    uVar8 = (int)ppsVar25 + (-(int)local_cc - (uint)CARRY1((byte)uVar8,(byte)uVar8)) + -2;
    pcVar9 = frag_more(uVar8);
    if (uVar8 < 4) {
      if (uVar8 != 0) {
        *pcVar9 = (char)exp.X_add_symbol;
        if ((uVar8 & 2) != 0) {
          *(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);
        }
      }
    }
    else {
      *(symbolS **)pcVar9 = exp.X_add_symbol;
      *(undefined4 *)(pcVar9 + (uVar8 - 4)) = *(undefined4 *)((int)&exp_1 + uVar8 + 0x10);
      iVar7 = (int)pcVar9 - (int)((uint)(pcVar9 + 4) & 0xfffffffc);
      puVar29 = (undefined4 *)((int)local_cc - iVar7);
      puVar32 = (undefined4 *)((uint)(pcVar9 + 4) & 0xfffffffc);
      for (uVar8 = iVar7 + uVar8 >> 2; uVar8 != 0; uVar8 = uVar8 - 1) {
        *puVar32 = *puVar29;
        puVar29 = puVar29 + (uint)bVar36 * -2 + 1;
        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;
      }
    }
    uVar19 = out_header(paVar6,&exp_1);
    psVar21 = exp_1.X_add_symbol;
    pcVar9 = frag_more(2);
    md_number_to_chars(pcVar9,2,2);
    exp.X_add_symbol = section_symbol(paVar15);
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    uVar28 = uVar19;
    emit_expr(local_cc,uVar19);
    uVar8 = sizeof_address;
    frag_append_1_char(sizeof_address);
    out_uleb128(CONCAT44(uVar28,uVar8));
    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,uVar19);
    }
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    exp.X_add_symbol = psVar22;
    emit_expr(local_cc,uVar19);
    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,uVar19);
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    exp.X_add_symbol = psVar12;
    emit_expr(local_cc,uVar19);
    pcVar9 = frag_more(2);
    md_number_to_chars(pcVar9,0x8001,2);
    symbol_set_value_now(psVar21);
    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_0001bfd0(void)

{
  int *piVar1;
  longlong lVar2;
  undefined *puVar3;
  undefined1 auVar4 [4];
  int iVar5;
  uint uVar6;
  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;
  int iVar19;
  uint *puVar20;
  undefined4 extraout_ECX;
  int iVar21;
  uint *puVar22;
  byte *pbVar23;
  uint uVar24;
  uint uVar25;
  undefined4 *puVar26;
  byte *pbVar27;
  int *piVar28;
  int iVar29;
  undefined4 *puVar30;
  bool bVar31;
  bool bVar32;
  bool bVar33;
  byte bVar34;
  longlong lVar35;
  undefined8 uVar36;
  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;
  
  bVar34 = 0;
  uStack_14 = 0x1bfdb;
  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");
  bVar32 = true;
  if (iVar5 != 0) {
    iVar5 = FUN_000368e0(iVar5);
    bVar32 = iVar5 == 0;
  }
  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");
  if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {
    if (DAT_0007775c == (int *)0x0) {
      return;
    }
                    /* WARNING: Subroutine does not return */
    FUN_0002bdd0("duplicate .debug_line sections");
  }
  if ((DAT_0007775c == (int *)0x0) && (bVar32)) {
    return;
  }
  uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);
  DAT_00077734 = uVar6 >> 3;
  uVar7 = FUN_000366b0(".debug_line",0);
  bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);
  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {
    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];
    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;
        puVar30 = (undefined4 *)*puVar30) {
      *puVar26 = puVar30[2];
      puVar26 = (undefined4 *)puVar30[3];
    }
  }
  uVar8 = FUN_0001a440();
  iVar5 = local_b0;
  uVar9 = FUN_00024a90(2);
  FUN_00043d50(uVar9,2,0,2);
  iVar10 = FUN_00038ab0();
  iVar11 = FUN_00038ab0();
  local_a0[0] = 0x14;
  local_a8 = 0;
  local_a4 = (undefined1  [4])0x0;
  local_b0 = iVar11;
  local_ac = iVar10;
  FUN_000312d0(&local_b0,uVar8);
  FUN_0003b370(iVar10);
  uVar6 = 1;
  FUN_00024df0(DAT_00078070);
  FUN_00024df0(1);
  FUN_00024df0(0xfffffffb);
  FUN_00024df0(0xe);
  FUN_00024df0(0xd);
  FUN_00024df0(0);
  FUN_00024df0(1);
  FUN_00024df0(1);
  FUN_00024df0(1);
  FUN_00024df0(1);
  FUN_00024df0(0);
  FUN_00024df0(0);
  FUN_00024df0(0);
  FUN_00024df0(1);
  FUN_00024df0(0);
  FUN_00024df0(0);
  FUN_00024df0(1);
  if (1 < DAT_00077744) {
    do {
      iVar10 = uVar6 * 4;
      uVar6 = uVar6 + 1;
      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));
      sVar13 = strlen(pcVar12);
      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);
      memcpy(pvVar14,pcVar12,sVar13 + 1);
    } while (uVar6 < DAT_00077744);
  }
  uVar6 = 1;
  FUN_00024df0(0);
  if (1 < DAT_00077750) {
    do {
      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {
        sVar13 = strlen(pcVar12);
        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);
        memcpy(pvVar14,pcVar12,sVar13 + 1);
        uVar6 = uVar6 + 1;
        FUN_0001a4e0();
        FUN_0001a4e0();
        FUN_0001a4e0();
        if (DAT_00077750 <= uVar6) goto LAB_0001c398;
      }
      uVar8 = dcgettext(0,"unassigned file number %ld",5);
      FUN_0002bd30(uVar8,uVar6);
      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;
      uVar6 = uVar6 + 1;
    } while (uVar6 < DAT_00077750);
  }
LAB_0001c398:
  FUN_00024df0(0);
  FUN_0003b370(iVar11);
  puVar3 = PTR__bfd_std_section_0006efb4;
  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {
    puVar26 = (undefined4 *)piVar28[1];
    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))
        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {
      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);
    }
    else {
      local_c4 = *(int **)(piVar28[2] + 8);
      bVar31 = false;
      bVar33 = DAT_00077d94 == 0;
      if (!bVar33) {
        iVar10 = 6;
        pbVar23 = (byte *)*puVar26;
        pbVar27 = (byte *)".text";
        do {
          if (iVar10 == 0) break;
          iVar10 = iVar10 + -1;
          bVar31 = *pbVar23 < *pbVar27;
          bVar33 = *pbVar23 == *pbVar27;
          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;
          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;
        } while (bVar33);
        pcVar12 = ".debug_line";
        if ((!bVar31 && !bVar33) != bVar31) {
          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);
        }
        uVar8 = FUN_000365f0(pcVar12,0);
        FUN_00036710(uVar8,0);
      }
      local_d0 = 0;
      local_100 = 1;
      local_e8 = 1;
      iVar10 = 0;
      iVar11 = 0;
      lVar2 = 0;
      do {
        local_108 = (int)((ulonglong)lVar2 >> 0x20);
        local_10c = (uint)lVar2;
        iVar29 = local_c4[2];
        if (iVar29 != local_e8) {
          FUN_00024df0(4);
          FUN_0001a4e0();
        }
        iVar21 = local_c4[4];
        if (iVar21 != iVar10) {
          FUN_00024df0(5);
          FUN_0001a4e0();
        }
        if (local_c4[7] != 0) {
          FUN_00024df0(0);
          iVar10 = FUN_00031b10(local_c4[7],0,0);
          uVar8 = FUN_00031b10(iVar10 + 1,0,1);
          uVar8 = FUN_00024a90(uVar8);
          FUN_00031b50(uVar8,iVar10 + 1,0,1);
          FUN_00024df0(4);
          FUN_0001a4e0();
        }
        iVar19 = local_c4[5];
        if (iVar19 != iVar11) {
          FUN_00024df0(0xc);
          FUN_0001a4e0();
        }
        uVar6 = local_c4[6];
        uVar24 = uVar6;
        if (((local_100 ^ uVar6) & 1) != 0) {
          FUN_00024df0(6);
          uVar24 = local_c4[6];
          local_100 = uVar6;
        }
        if ((uVar24 & 2) != 0) {
          FUN_00024df0(7);
          uVar24 = local_c4[6];
        }
        if ((uVar24 & 4) != 0) {
          FUN_00024df0(10);
          uVar24 = local_c4[6];
        }
        if ((uVar24 & 8) != 0) {
          FUN_00024df0(0xb);
        }
        uVar6 = local_c4[1];
        iVar15 = FUN_0003b3c0(uVar6);
        lVar35 = FUN_00039f50(uVar6);
        if (local_d0 == 0) {
LAB_0001d2b0:
          FUN_00024df0(0);
          FUN_0001a4e0();
          FUN_00024df0(2);
          local_8c = 3;
          local_9c[2] = 0;
          local_9c[3] = 0;
          local_9c[0] = uVar6;
          FUN_000312d0(local_9c,DAT_00077734);
          FUN_0001aa30();
        }
        else {
          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {
            if (iVar15 == local_d0) {
              if (lVar35 != lVar2) goto LAB_0001c5d8;
            }
            else if ((lVar35 != 0) ||
                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),
                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,
                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=
                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;
            goto LAB_0001d2b0;
          }
          if (iVar15 == local_d0) {
LAB_0001c5d8:
            if (DAT_00077d00 != 0) goto LAB_0001c5e8;
            FUN_0001aa30();
          }
          else {
LAB_0001c5e8:
            FUN_0001a760();
          }
        }
        piVar1 = (int *)*local_c4;
        free(local_c4);
        iVar10 = iVar21;
        iVar11 = iVar19;
        local_e8 = iVar29;
        local_d0 = iVar15;
        local_c4 = piVar1;
        lVar2 = lVar35;
      } while (piVar1 != (int *)0x0);
      iVar10 = *(int *)puVar26[0x20];
      do {
        iVar11 = iVar10;
        iVar10 = *(int *)(iVar11 + 8);
      } while (iVar10 != 0);
      iVar10 = *(int *)(iVar11 + 4);
      uVar36 = FUN_0001a520();
      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {
        FUN_0001aa30();
      }
      else {
        FUN_00038ad0(puVar26,uVar36,iVar10);
        FUN_0001a760();
      }
    }
  }
  if (DAT_00077d94 != 0) {
    uVar8 = FUN_000365f0(".debug_line_end",0);
    FUN_00036710(uVar8,0);
  }
  FUN_0003b370(iVar5);
  if (!bVar32) {
    return;
  }
  if (DAT_0007775c == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);
  }
  uVar8 = FUN_000366b0(".debug_info",0);
  uVar9 = FUN_000366b0(".debug_abbrev",0);
  uVar16 = FUN_000366b0(".debug_aranges",0);
  iVar10 = FUN_000366b0(".debug_str",0);
  bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);
  bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);
  bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);
  bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);
  uVar6 = DAT_00077734;
  *(undefined4 *)(iVar10 + 0x90) = 1;
  uVar6 = uVar6 * 2;
  iVar5 = 0;
  if (uVar6 != 0) {
    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {
    }
  }
  if (uVar6 == 0) {
    iVar5 = -1;
  }
  FUN_0003f050(uVar16,iVar5);
  local_ec = *DAT_0007775c;
  if (local_ec == 0) goto LAB_0001caf4;
  local_ec = FUN_000366b0(".debug_ranges",0);
  bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);
  uVar6 = DAT_00077734 * 2;
  iVar5 = 0;
  if (uVar6 != 0) {
    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {
    }
  }
  if (uVar6 == 0) {
    iVar5 = -1;
  }
  FUN_0003f050(local_ec,iVar5);
  uVar6 = DAT_00077734;
  FUN_00036710(local_ec,0);
  if (uVar6 == 0) {
    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;
LAB_0001c9b0:
    piVar28 = DAT_0007775c;
    do {
      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));
      iVar5 = piVar28[1];
      piVar28[3] = uVar24;
      iVar11 = **(int **)(iVar5 + 0x80);
      do {
        iVar29 = iVar11;
        iVar11 = *(int *)(iVar29 + 8);
      } while (iVar11 != 0);
      uVar16 = *(undefined4 *)(iVar29 + 4);
      uVar36 = FUN_0001a520();
      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);
      piVar28[4] = uVar17;
      local_8c = 3;
      local_9c[2] = 0;
      local_9c[3] = 0;
      local_9c[0] = uVar24;
      FUN_000312d0(local_9c,uVar6);
      local_8c = 3;
      local_9c[2] = 0;
      local_9c[3] = 0;
      local_9c[0] = uVar17;
      FUN_000312d0(local_9c,uVar6);
      piVar28 = (int *)*piVar28;
    } while (piVar28 != (int *)0x0);
    if (uVar6 == 0) goto LAB_0001caf4;
  }
  else {
    uVar24 = 0;
    do {
      uVar24 = uVar24 + 1;
      FUN_00024df0(0xff);
    } while (uVar6 != uVar24);
    uVar24 = 0;
    do {
      uVar24 = uVar24 + 1;
      FUN_00024df0(0);
    } while (uVar6 != uVar24);
    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;
  }
  uVar24 = 0;
  do {
    uVar24 = uVar24 + 1;
    FUN_00024df0(0);
  } while (uVar6 != uVar24);
  uVar24 = 0;
  do {
    uVar24 = uVar24 + 1;
    FUN_00024df0(0);
  } while (uVar6 != uVar24);
LAB_0001caf4:
  uVar6 = DAT_00077734;
  local_cc = local_9c;
  uVar17 = FUN_0001a440();
  auVar4 = local_a4;
  uVar24 = local_a8;
  iVar11 = local_b0;
  uVar16 = FUN_00024a90(2);
  FUN_00043d50(uVar16,2,0,2);
  local_9c[0] = FUN_00036760(uVar8);
  local_8c = 3;
  local_9c[2] = 0;
  local_9c[3] = 0;
  FUN_000312d0(local_cc,uVar17);
  uVar25 = 2 - uVar24;
  uVar18 = uVar17 + uVar25;
  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)
  ;
  FUN_00024df0(uVar6);
  FUN_00024df0(0);
  uVar24 = uVar18 + 3;
  iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);
  iVar5 = uVar6 * 2;
  uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);
  piVar28 = DAT_0007775c;
  if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {
    do {
      FUN_00024df0(0);
      bVar32 = 0xfffffffe < uVar24;
      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);
      uVar24 = uVar24 + 1;
      iVar29 = iVar29 + (uint)bVar32;
      piVar28 = DAT_0007775c;
    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));
  }
  for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {
    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));
    iVar29 = piVar28[1];
    piVar28[3] = iVar19;
    iVar21 = **(int **)(iVar29 + 0x80);
    do {
      iVar15 = iVar21;
      iVar21 = *(int *)(iVar15 + 8);
    } while (iVar21 != 0);
    uVar8 = *(undefined4 *)(iVar15 + 4);
    uVar36 = FUN_0001a520();
    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);
    piVar28[4] = iVar29;
    local_a0[0] = 3;
    local_a8 = 0;
    local_a4 = (undefined1  [4])0x0;
    local_b0 = iVar19;
    FUN_000312d0(&local_b0,uVar6);
    local_a0[0] = 0x14;
    local_a8 = 0;
    local_a4 = (undefined1  [4])0x0;
    local_b0 = iVar29;
    local_ac = iVar19;
    FUN_000312d0(&local_b0,uVar6);
  }
  iVar5 = FUN_00024a90(iVar5);
  FUN_00043d50(iVar5,0,0,uVar6);
  FUN_00043d50(iVar5 + uVar6,0,0,uVar6);
  FUN_0003b370(iVar11);
  FUN_00036710(uVar9,0);
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_00024df0(0);
  FUN_0001a4e0();
  FUN_0001a4e0();
  if (*DAT_0007775c == 0) {
    FUN_0001a4e0();
    FUN_0001a4e0();
    FUN_0001a4e0();
    FUN_0001a4e0();
  }
  else {
    FUN_0001a4e0();
    FUN_0001a4e0();
  }
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_00024df0(0);
  FUN_00036710(iVar10,0);
  uVar24 = FUN_00038b00();
  if (DAT_00077750 != 0) {
    if (*(int *)(DAT_00077754 + 0xc) != 0) {
      pcVar12 = (char *)FUN_00035180(*(undefined4 *)
                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));
      sVar13 = strlen(pcVar12);
      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);
      memcpy(pvVar14,pcVar12,sVar13);
      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;
    }
    sVar13 = strlen(*(char **)(DAT_00077754 + 8));
    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);
    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);
    uVar6 = FUN_00038b00();
    uVar8 = getpwd();
    pcVar12 = (char *)FUN_00035180(uVar8);
    sVar13 = strlen(pcVar12);
    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);
    memcpy(pvVar14,pcVar12,sVar13 + 1);
    uVar17 = FUN_00038b00();
    sprintf((char *)local_cc,"GNU AS %s","2.31.1");
    puVar20 = local_cc;
    do {
      puVar22 = puVar20;
      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;
      uVar18 = uVar25 & 0x80808080;
      puVar20 = puVar22 + 1;
    } while (uVar18 == 0);
    bVar32 = (uVar25 & 0x8080) == 0;
    if (bVar32) {
      uVar18 = uVar18 >> 0x10;
    }
    if (bVar32) {
      puVar20 = (uint *)((int)puVar22 + 6);
    }
    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;
    puVar20 = (uint *)FUN_00024a90(uVar18);
    if (uVar18 < 4) {
      if (uVar18 != 0) {
        *(undefined1 *)puVar20 = (undefined1)local_9c[0];
        if ((uVar18 & 2) != 0) {
          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);
        }
      }
    }
    else {
      *puVar20 = local_9c[0];
      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);
      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);
      puVar26 = (undefined4 *)((int)local_cc - iVar5);
      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);
      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {
        *puVar30 = *puVar26;
        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;
        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;
      }
    }
    uVar8 = FUN_0001a440();
    iVar5 = local_b0;
    uVar16 = FUN_00024a90(2);
    FUN_00043d50(uVar16,2,0,2);
    local_9c[0] = FUN_00036760(uVar9);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    FUN_000312d0(local_cc,uVar8);
    FUN_00024df0(DAT_00077734);
    FUN_0001a4e0();
    local_9c[0] = FUN_00036760(uVar7);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    FUN_000312d0(local_cc,4);
    if (*DAT_0007775c == 0) {
      local_b0 = DAT_0007775c[3];
      local_a0[0] = 3;
      local_a8 = 0;
      local_a4 = (undefined1  [4])0x0;
      FUN_000312d0(&local_b0,DAT_00077734);
      local_a0[0] = 3;
      local_b0 = DAT_0007775c[4];
      local_a8 = 0;
      local_a4 = (undefined1  [4])0x0;
      FUN_000312d0(&local_b0,DAT_00077734);
    }
    else {
      local_9c[0] = FUN_00036760(local_ec);
      local_8c = 3;
      local_9c[2] = 0;
      local_9c[3] = 0;
      FUN_000312d0(local_cc,uVar8);
    }
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    local_9c[0] = uVar24;
    FUN_000312d0(local_cc,uVar8);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    local_9c[0] = uVar6;
    FUN_000312d0(local_cc,uVar8);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    local_9c[0] = uVar17;
    FUN_000312d0(local_cc,uVar8);
    uVar7 = FUN_00024a90(2);
    FUN_00043d50(uVar7,0x8001,0,2);
    FUN_0003b370(iVar5);
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016090
ADD EBX,0x53025
SUB ESP,0x134
LEA EAX,[EBX + 0xfffe129d]
PUSH EAX
MOV dword ptr [EBP + 0xfffffed0],EAX
LEA EAX,[EBX + 0x8ec4]
PUSH dword ptr [EAX]
MOV dword ptr [EBP + 0xfffffee8],EAX
CALL 0x00014340
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffffee0],0x1
TEST EAX,EAX
JZ 0x0001c032
SUB ESP,0xc
PUSH EAX
CALL 0x000368e0
ADD ESP,0x10
TEST EAX,EAX
SETZ AL
MOVZX EAX,AL
MOV dword ptr [EBP + 0xfffffee0],EAX
SUB ESP,0x8
LEA EAX,[EBX + 0xfffe12a9]
PUSH EAX
MOV dword ptr [EBP + 0xfffffed8],EAX
MOV EAX,dword ptr [EBP + 0xfffffee8]
PUSH dword ptr [EAX]
CALL 0x00014340
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001c06a
SUB ESP,0xc
PUSH EAX
CALL 0x000368e0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001c773
MOV EAX,dword ptr [EBX + 0x875c]
TEST EAX,EAX
JZ 0x0001c75d
MOV ESI,dword ptr [EBP + 0xfffffee8]
SUB ESP,0xc
PUSH dword ptr [ESI]
CALL 0x000147f0
SHR EAX,0x3
MOV dword ptr [EBX + 0x8734],EAX
POP EAX
POP EDX
PUSH 0x0
PUSH dword ptr [EBP + 0xfffffed8]
CALL 0x000366b0
ADD ESP,0xc
PUSH 0x2008
PUSH EAX
PUSH dword ptr [ESI]
MOV dword ptr [EBP + 0xfffffecc],EAX
CALL 0x00014780
MOV ESI,dword ptr [EBX + 0x875c]
ADD ESP,0x10
TEST ESI,ESI
JZ 0x0001c0ec
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESI + 0x8]
MOV EDX,dword ptr [EAX + 0xc]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x0001c0e6
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 0x0001c0d8
MOV ESI,dword ptr [ESI]
TEST ESI,ESI
JNZ 0x0001c0c8
LEA EAX,[EBP + 0xffffff54]
MOV EDX,EAX
MOV dword ptr [EBP + 0xfffffef4],EAX
MOV EAX,dword ptr [EBP + 0xfffffecc]
CALL 0x0001a440
SUB ESP,0xc
MOV ESI,dword ptr [EBP + 0xffffff54]
PUSH 0x2
MOV EDI,EAX
MOV dword ptr [EBP + 0xfffffec8],ESI
CALL 0x00024a90
PUSH 0x2
PUSH 0x0
PUSH 0x2
PUSH EAX
CALL 0x00043d50
ADD ESP,0x20
CALL 0x00038ab0
MOV ESI,EAX
CALL 0x00038ab0
SUB ESP,0x8
MOV byte ptr [EBP + 0xffffff64],0x14
PUSH EDI
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 0x000312d0
MOV dword ptr [ESP],ESI
CALL 0x0003b370
LEA EAX,[EBX + 0x9070]
POP EDI
MOV EDI,0x1
PUSH dword ptr [EAX]
CALL 0x00024df0
MOV dword ptr [ESP],0x1
CALL 0x00024df0
MOV dword ptr [ESP],0xfffffffb
CALL 0x00024df0
MOV dword ptr [ESP],0xe
CALL 0x00024df0
MOV dword ptr [ESP],0xd
CALL 0x00024df0
MOV dword ptr [ESP],0x0
CALL 0x00024df0
MOV dword ptr [ESP],0x1
CALL 0x00024df0
MOV dword ptr [ESP],0x1
CALL 0x00024df0
MOV dword ptr [ESP],0x1
CALL 0x00024df0
MOV dword ptr [ESP],0x1
CALL 0x00024df0
MOV dword ptr [ESP],0x0
CALL 0x00024df0
MOV dword ptr [ESP],0x0
CALL 0x00024df0
MOV dword ptr [ESP],0x0
CALL 0x00024df0
MOV dword ptr [ESP],0x1
CALL 0x00024df0
MOV dword ptr [ESP],0x0
CALL 0x00024df0
MOV dword ptr [ESP],0x0
CALL 0x00024df0
MOV dword ptr [ESP],0x1
CALL 0x00024df0
ADD ESP,0x10
CMP dword ptr [EBX + 0x8744],0x1
JBE 0x0001c2a8
NOP
MOV EAX,dword ptr [EBX + 0x8748]
SUB ESP,0xc
PUSH dword ptr [EAX + EDI*0x4]
ADD EDI,0x1
CALL 0x00035180
MOV dword ptr [ESP],EAX
MOV dword ptr [EBP + 0xffffff40],EAX
CALL 0x00014470
LEA ESI,[EAX + 0x1]
MOV dword ptr [ESP],ESI
CALL 0x00024a90
ADD ESP,0xc
PUSH ESI
PUSH dword ptr [EBP + 0xffffff40]
PUSH EAX
CALL 0x00014100
ADD ESP,0x10
CMP EDI,dword ptr [EBX + 0x8744]
JC 0x0001c260
SUB ESP,0xc
MOV ESI,0x1
PUSH 0x0
CALL 0x00024df0
LEA EAX,[EBX + 0xfffe11db]
ADD ESP,0x10
CMP dword ptr [EBX + 0x8750],0x1
MOV dword ptr [EBP + 0xffffff38],EAX
LEA EAX,[EBX + 0xfffe1b45]
MOV dword ptr [EBP + 0xffffff34],EAX
JA 0x0001c343
JMP 0x0001c398
SUB ESP,0xc
MOV dword ptr [EBP + 0xffffff40],EDX
PUSH EDX
CALL 0x00014470
LEA EDI,[EAX + 0x1]
MOV dword ptr [ESP],EDI
CALL 0x00024a90
MOV EDX,dword ptr [EBP + 0xffffff40]
ADD ESP,0xc
PUSH EDI
PUSH EDX
PUSH EAX
CALL 0x00014100
MOV EAX,dword ptr [EBX + 0x8754]
LEA ECX,[ESI*0x8 + 0x0]
XOR EDX,EDX
ADD ESI,0x1
MOV EAX,dword ptr [EAX + ECX*0x1 + 0x4]
CALL 0x0001a4e0
XOR EAX,EAX
XOR EDX,EDX
CALL 0x0001a4e0
XOR EAX,EAX
XOR EDX,EDX
CALL 0x0001a4e0
ADD ESP,0x10
CMP ESI,dword ptr [EBX + 0x8750]
JNC 0x0001c398
LEA EAX,[ESI*0x8 + 0x0]
MOV dword ptr [EBP + 0xffffff40],EAX
MOV EAX,dword ptr [EBX + 0x8754]
MOV EDX,dword ptr [EAX + ESI*0x8]
TEST EDX,EDX
JNZ 0x0001c2e0
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [EBP + 0xffffff38]
PUSH 0x0
CALL 0x000141c0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x0002bd30
MOV EAX,dword ptr [EBX + 0x8754]
MOV EDI,dword ptr [EBP + 0xffffff34]
ADD ESP,0x10
MOV dword ptr [EAX + ESI*0x8],EDI
ADD ESI,0x1
CMP ESI,dword ptr [EBX + 0x8750]
JC 0x0001c343
LEA ESI,[ESI]
SUB ESP,0xc
PUSH 0x0
CALL 0x00024df0
POP ESI
PUSH dword ptr [EBP + 0xffffff28]
CALL 0x0003b370
MOV EAX,dword ptr [EBX + 0x875c]
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff08],EAX
TEST EAX,EAX
LEA EAX,[EBX + 0x8d94]
MOV dword ptr [EBP + 0xfffffed4],EAX
JZ 0x0001c7c0
MOV EAX,dword ptr [EBX + 0xffffffb4]
MOV dword ptr [EBP + 0xfffffef0],EAX
LEA EAX,[EBX + 0x8d00]
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 0x0001c790
LEA EAX,[ESI + 0x180]
CMP ECX,EAX
JZ 0x0001c790
LEA EAX,[EBX + 0x8d90]
CMP ECX,dword ptr [EAX]
JZ 0x0001c790
LEA EAX,[EBX + 0x8ce0]
CMP ECX,dword ptr [EAX]
JZ 0x0001c790
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 0x0001c491
MOV EAX,dword ptr [ECX]
LEA EDI,[EBX + 0xfffdf3b5]
MOV ECX,0x6
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x0001d413
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [EBP + 0xfffffed8]
CALL 0x000365f0
POP EDX
POP ECX
PUSH 0x0
PUSH EAX
CALL 0x00036710
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 0x0001c670
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 0x0001c52b
SUB ESP,0xc
PUSH 0xc
CALL 0x00024df0
MOV EAX,EDI
XOR EDX,EDX
CALL 0x0001a4e0
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 0x0001d238
TEST ESI,0x2
JNZ 0x0001d1e0
TEST ESI,0x4
JNZ 0x0001d202
AND ESI,0x8
JNZ 0x0001d221
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 0x0003b3c0
POP ECX
PUSH dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + 0xffffff28],EAX
CALL 0x00039f50
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 0x0001d2b0
MOV EAX,dword ptr [EBX + 0x873c]
CMP dword ptr [EDI + 0x20],EAX
MOV ECX,dword ptr [EBP + 0xffffff34]
JNZ 0x0001c5d0
TEST EAX,EAX
JNZ 0x0001d260
CMP dword ptr [EBP + 0xffffff28],ECX
JNZ 0x0001c5e8
MOV EAX,dword ptr [EBP + 0xfffffeec]
MOV EDI,dword ptr [EAX]
TEST EDI,EDI
JZ 0x0001d328
MOV ECX,dword ptr [EBP + 0xffffff0c]
MOV EDX,dword ptr [EBP + 0xffffff38]
MOV EAX,ESI
CALL 0x0001a760
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 0x00014810
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 0x0001d350
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 0x0001c6a9
SUB ESP,0xc
MOV dword ptr [EBP + 0xffffff38],ECX
PUSH 0x4
CALL 0x00024df0
MOV EAX,EDI
XOR EDX,EDX
CALL 0x0001a4e0
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 0x0001c6d4
SUB ESP,0xc
PUSH 0x5
CALL 0x00024df0
MOV EAX,EDI
XOR EDX,EDX
CALL 0x0001a4e0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX + 0x1c]
TEST EAX,EAX
JZ 0x0001c500
SUB ESP,0xc
PUSH 0x0
CALL 0x00024df0
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 0x00031b10
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 0x00031b10
MOV dword ptr [ESP],EAX
CALL 0x00024a90
MOV EDX,dword ptr [EBP + 0xffffff38]
MOV ECX,dword ptr [EBP + 0xffffff3c]
PUSH 0x1
PUSH ECX
PUSH EDX
PUSH EAX
CALL 0x00031b50
ADD ESP,0x14
PUSH 0x4
CALL 0x00024df0
MOV EAX,dword ptr [EDI + 0x1c]
XOR EDX,EDX
CALL 0x0001a4e0
ADD ESP,0x10
JMP 0x0001c500
MOV EAX,dword ptr [EBP + 0xfffffee0]
TEST EAX,EAX
JZ 0x0001c078
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV ECX,dword ptr [EBX + 0x875c]
TEST ECX,ECX
JZ 0x0001c76b
SUB ESP,0xc
LEA EAX,[EBX + 0xfffe13cc]
PUSH EAX
CALL 0x0002bdd0
MOV EAX,dword ptr [EBP + 0xffffff00]
SUB ESP,0x8
PUSH dword ptr [EAX]
LEA EAX,[EBX + 0xfffe13ec]
PUSH EAX
CALL 0x0002bc50
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff08]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + 0xffffff08],EAX
TEST EAX,EAX
JNZ 0x0001c3f0
MOV EAX,dword ptr [EBP + 0xfffffed4]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x0001d496
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffffec8]
CALL 0x0003b370
MOV EDI,dword ptr [EBP + 0xfffffee0]
ADD ESP,0x10
TEST EDI,EDI
JZ 0x0001c76b
MOV ESI,dword ptr [EBX + 0x875c]
TEST ESI,ESI
JZ 0x0001d5c0
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [EBP + 0xfffffed0]
CALL 0x000366b0
MOV EDI,EAX
MOV dword ptr [EBP + 0xffffff1c],EAX
POP EAX
LEA EAX,[EBX + 0xfffe12c5]
POP EDX
PUSH 0x0
PUSH EAX
CALL 0x000366b0
POP ECX
POP ESI
PUSH 0x0
MOV dword ptr [EBP + 0xffffff20],EAX
LEA EAX,[EBX + 0xfffe12d3]
PUSH EAX
CALL 0x000366b0
MOV dword ptr [EBP + 0xffffff30],EAX
POP EAX
LEA EAX,[EBX + 0xfffe12e2]
POP EDX
PUSH 0x0
PUSH EAX
CALL 0x000366b0
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 0x00014780
ADD ESP,0xc
PUSH 0x2008
PUSH dword ptr [EBP + 0xffffff20]
PUSH dword ptr [EDI]
CALL 0x00014780
ADD ESP,0xc
PUSH 0x2008
PUSH dword ptr [EBP + 0xffffff30]
PUSH dword ptr [EDI]
CALL 0x00014780
ADD ESP,0xc
PUSH 0x1802008
PUSH ESI
PUSH dword ptr [EDI]
CALL 0x00014780
MOV EAX,dword ptr [EBX + 0x8734]
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 0x0003f050
MOV EAX,dword ptr [EBX + 0x875c]
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 0x0001caf4
SUB ESP,0x8
LEA EAX,[EBX + 0xfffe12ed]
PUSH 0x0
PUSH EAX
CALL 0x000366b0
ADD ESP,0xc
PUSH 0x2008
PUSH EAX
PUSH dword ptr [EDI]
MOV dword ptr [EBP + 0xffffff18],EAX
CALL 0x00014780
MOV EAX,dword ptr [EBX + 0x8734]
POP EDI
MOV EDI,dword ptr [EBP + 0xffffff18]
POP EDX
ADD EAX,EAX
BSF EAX,EAX
CMOVZ EAX,ESI
PUSH EAX
PUSH EDI
CALL 0x0003f050
MOV EAX,dword ptr [EBX + 0x8734]
POP ECX
MOV ESI,EAX
MOV dword ptr [EBP + 0xffffff40],EAX
POP EAX
PUSH 0x0
PUSH EDI
CALL 0x00036710
ADD ESP,0x10
MOV EAX,ESI
TEST ESI,ESI
JZ 0x0001d598
XOR ESI,ESI
MOV EDI,EAX
LEA ESI,[ESI]
SUB ESP,0xc
ADD ESI,0x1
PUSH 0xff
CALL 0x00024df0
ADD ESP,0x10
CMP EDI,ESI
JNZ 0x0001c968
XOR ESI,ESI
LEA ESI,[ESI]
SUB ESP,0xc
ADD ESI,0x1
PUSH 0x0
CALL 0x00024df0
ADD ESP,0x10
CMP EDI,ESI
JNZ 0x0001c988
MOV dword ptr [EBP + 0xffffff40],EDI
MOV EDI,dword ptr [EBX + 0x875c]
TEST EDI,EDI
JZ 0x0001d587
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 0x00038ad0
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 0x0001c9f2
MOV EDX,EAX
MOV EAX,dword ptr [EDX + 0x8]
TEST EAX,EAX
JNZ 0x0001c9f0
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 0x0001a520
MOV ECX,dword ptr [EBP + 0xffffff28]
PUSH ECX
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x00038ad0
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 0x000312d0
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 0x000312d0
MOV EDI,dword ptr [EDI]
ADD ESP,0x10
TEST EDI,EDI
JNZ 0x0001c9c0
MOV EAX,dword ptr [EBP + 0xffffff40]
TEST EAX,EAX
JZ 0x0001caf4
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 0x00024df0
ADD ESP,0x10
CMP EDI,ESI
JNZ 0x0001cac0
XOR ESI,ESI
LEA ESI,[ESI]
LEA ESI,[ESI]
SUB ESP,0xc
ADD ESI,0x1
PUSH 0x0
CALL 0x00024df0
ADD ESP,0x10
CMP EDI,ESI
JNZ 0x0001cae0
MOV EAX,dword ptr [EBX + 0x8734]
MOV EDX,dword ptr [EBP + 0xfffffef4]
MOV dword ptr [EBP + 0xffffff34],EAX
MOV EAX,dword ptr [EBP + 0xffffff30]
CALL 0x0001a440
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 0x00024a90
PUSH 0x2
PUSH 0x0
PUSH 0x2
PUSH EAX
CALL 0x00043d50
ADD ESP,0x14
PUSH dword ptr [EBP + 0xffffff1c]
CALL 0x00036760
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 0x000312d0
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 0x00024df0
MOV dword ptr [ESP],0x0
CALL 0x00024df0
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 0x0004cdb0
XOR ECX,ECX
ADD ESP,0x20
CMP ECX,EAX
SBB ECX,EDX
JGE 0x0001cc7f
LEA ESI,[ESI]
SUB ESP,0xc
PUSH 0x0
CALL 0x00024df0
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 0x0004cdb0
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 0x0001cc30
MOV EAX,dword ptr [EBX + 0x875c]
TEST EAX,EAX
JZ 0x0001cd96
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 0x00038ad0
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 0x0001ccd2
MOV EDX,EAX
MOV EAX,dword ptr [EDX + 0x8]
TEST EAX,EAX
JNZ 0x0001ccd0
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 0x0001a520
MOV ECX,dword ptr [EBP + 0xffffff28]
PUSH ECX
PUSH EDX
PUSH EAX
PUSH EDI
CALL 0x00038ad0
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 0x000312d0
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 0x000312d0
MOV EAX,dword ptr [EBP + 0xffffff40]
ADD ESP,0x10
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + 0xffffff40],EAX
TEST EAX,EAX
JNZ 0x0001cc98
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff30]
CALL 0x00024a90
MOV EDI,dword ptr [EBP + 0xffffff34]
MOV ESI,EAX
PUSH EDI
ADD ESI,EDI
PUSH 0x0
PUSH 0x0
PUSH EAX
CALL 0x00043d50
ADD ESP,0x20
PUSH EDI
PUSH 0x0
PUSH 0x0
PUSH ESI
CALL 0x00043d50
POP EDI
PUSH dword ptr [EBP + 0xffffff10]
CALL 0x0003b370
POP EAX
POP EDX
PUSH 0x0
PUSH dword ptr [EBP + 0xffffff20]
CALL 0x00036710
MOV EAX,0x1
XOR EDX,EDX
CALL 0x0001a4e0
MOV EAX,0x11
XOR EDX,EDX
CALL 0x0001a4e0
MOV dword ptr [ESP],0x0
CALL 0x00024df0
MOV EAX,0x10
XOR EDX,EDX
CALL 0x0001a4e0
MOV EAX,0x6
XOR EDX,EDX
CALL 0x0001a4e0
MOV EAX,dword ptr [EBX + 0x875c]
ADD ESP,0x10
MOV ECX,dword ptr [EAX]
TEST ECX,ECX
JZ 0x0001d42e
MOV EAX,0x55
XOR EDX,EDX
CALL 0x0001a4e0
MOV EAX,0x6
XOR EDX,EDX
CALL 0x0001a4e0
MOV EAX,0x3
XOR EDX,EDX
CALL 0x0001a4e0
MOV EAX,0xe
XOR EDX,EDX
CALL 0x0001a4e0
MOV EAX,0x1b
XOR EDX,EDX
CALL 0x0001a4e0
MOV EAX,0xe
XOR EDX,EDX
CALL 0x0001a4e0
MOV EAX,0x25
XOR EDX,EDX
CALL 0x0001a4e0
MOV EAX,0xe
XOR EDX,EDX
CALL 0x0001a4e0
MOV EAX,0x13
XOR EDX,EDX
CALL 0x0001a4e0
MOV EAX,0x5
XOR EDX,EDX
CALL 0x0001a4e0
XOR EAX,EAX
XOR EDX,EDX
CALL 0x0001a4e0
XOR EDX,EDX
XOR EAX,EAX
CALL 0x0001a4e0
SUB ESP,0xc
PUSH 0x0
CALL 0x00024df0
POP EDI
POP EAX
PUSH 0x0
PUSH dword ptr [EBP + 0xffffff14]
CALL 0x00036710
CALL 0x00038b00
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff40],EAX
MOV EAX,dword ptr [EBX + 0x8750]
TEST EAX,EAX
JZ 0x0001d5d9
MOV EAX,dword ptr [EBX + 0x8754]
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JNZ 0x0001d4b9
SUB ESP,0xc
PUSH dword ptr [EAX + 0x8]
CALL 0x00014470
LEA ESI,[EAX + 0x1]
MOV dword ptr [ESP],ESI
CALL 0x00024a90
MOV EDX,dword ptr [EBX + 0x8754]
ADD ESP,0xc
MOV EDX,dword ptr [EDX + 0x8]
PUSH ESI
PUSH EDX
PUSH EAX
CALL 0x00014100
CALL 0x00038b00
MOV dword ptr [EBP + 0xffffff34],EAX
CALL 0x00014210
MOV dword ptr [ESP],EAX
CALL 0x00035180
MOV EDI,EAX
MOV dword ptr [ESP],EAX
CALL 0x00014470
LEA ESI,[EAX + 0x1]
MOV dword ptr [ESP],ESI
CALL 0x00024a90
ADD ESP,0xc
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x00014100
CALL 0x00038b00
ADD ESP,0xc
MOV EDI,dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + 0xffffff28],EAX
LEA EAX,[EBX + 0xfffdf278]
PUSH EAX
LEA EAX,[EBX + 0xfffe12fb]
PUSH EAX
PUSH EDI
CALL 0x00014700
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 0x0001cf95
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 0x00024a90
CMP ESI,0x4
JNC 0x0001d463
TEST ESI,ESI
JZ 0x0001cffc
MOVZX EDX,byte ptr [EDI]
MOV byte ptr [EAX],DL
TEST ESI,0x2
JNZ 0x0001d5ab
MOV EDX,dword ptr [EBP + 0xfffffef4]
MOV EAX,dword ptr [EBP + 0xffffff1c]
CALL 0x0001a440
MOV dword ptr [ESP],0x2
MOV EDI,dword ptr [EBP + 0xffffff54]
MOV ESI,EAX
CALL 0x00024a90
PUSH 0x2
PUSH 0x0
PUSH 0x2
PUSH EAX
CALL 0x00043d50
ADD ESP,0x14
PUSH dword ptr [EBP + 0xffffff20]
CALL 0x00036760
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 0x000312d0
POP EAX
PUSH dword ptr [EBX + 0x8734]
CALL 0x00024df0
XOR EDX,EDX
MOV EAX,0x1
CALL 0x0001a4e0
POP EAX
PUSH dword ptr [EBP + 0xfffffecc]
CALL 0x00036760
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 0x000312d0
MOV EAX,dword ptr [EBX + 0x875c]
ADD ESP,0x10
MOV ECX,dword ptr [EAX]
TEST ECX,ECX
JZ 0x0001d50a
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff18]
CALL 0x00036760
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 0x000312d0
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 0x000312d0
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 0x000312d0
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 0x000312d0
MOV dword ptr [ESP],0x2
CALL 0x00024a90
PUSH 0x2
PUSH 0x0
PUSH 0x8001
PUSH EAX
CALL 0x00043d50
ADD ESP,0x14
PUSH EDI
CALL 0x0003b370
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH 0x7
CALL 0x00024df0
MOV EAX,dword ptr [EBP + 0xffffff40]
ADD ESP,0x10
MOV ESI,dword ptr [EAX + 0x18]
TEST ESI,0x4
JZ 0x0001c55c
SUB ESP,0xc
PUSH 0xa
CALL 0x00024df0
MOV EAX,dword ptr [EBP + 0xffffff40]
ADD ESP,0x10
MOV ESI,dword ptr [EAX + 0x18]
AND ESI,0x8
JZ 0x0001c565
SUB ESP,0xc
PUSH 0xb
CALL 0x00024df0
ADD ESP,0x10
JMP 0x0001c565
SUB ESP,0xc
PUSH 0x6
CALL 0x00024df0
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV dword ptr [EBP + 0xffffff04],ESI
ADD ESP,0x10
MOV ESI,dword ptr [EAX + 0x18]
JMP 0x0001c544
CMP dword ptr [EBP + 0xffffff28],ECX
JZ 0x0001d3b8
MOV EDX,dword ptr [EBP + 0xffffff20]
MOV ECX,dword ptr [EBP + 0xffffff24]
MOV EAX,EDX
MOV EDX,ECX
OR EDX,EAX
JNZ 0x0001c5e8
MOV EDX,dword ptr [EBP + 0xfffffedc]
MOV EAX,dword ptr [EBP + 0xffffff34]
CALL 0x0001a520
CMP dword ptr [EBP + 0xfffffef8],EAX
MOV EAX,dword ptr [EBP + 0xfffffefc]
SBB EAX,EDX
JL 0x0001c5e8
LEA ESI,[ESI]
SUB ESP,0xc
PUSH 0x0
CALL 0x00024df0
MOV EAX,dword ptr [EBX + 0x8734]
XOR EDX,EDX
ADD EAX,0x1
CALL 0x0001a4e0
MOV dword ptr [ESP],0x2
CALL 0x00024df0
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 + 0x8734]
PUSH dword ptr [EBP + 0xfffffee4]
CALL 0x000312d0
XOR EDX,EDX
XOR ECX,ECX
MOV EAX,ESI
CALL 0x0001aa30
ADD ESP,0x10
JMP 0x0001c5fb
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 0x0001aa30
JMP 0x0001c5fb
MOV EAX,dword ptr [EBP + 0xffffff00]
MOV EDI,dword ptr [EBP + 0xffffff38]
MOV EAX,dword ptr [EAX + 0x80]
MOV EDX,dword ptr [EAX]
JMP 0x0001d372
MOV EDX,EAX
MOV EAX,dword ptr [EDX + 0x8]
TEST EAX,EAX
JNZ 0x0001d370
MOV ESI,dword ptr [EDX + 0x4]
MOV EDX,dword ptr [EBP + 0xfffffedc]
MOV EAX,ESI
CALL 0x0001a520
CMP dword ptr [EBP + 0xffffff28],ESI
JZ 0x0001d3e8
PUSH ESI
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff00]
CALL 0x00038ad0
MOV ECX,EDI
MOV EDX,EAX
MOV EAX,0x7fffffff
CALL 0x0001a760
ADD ESP,0x10
JMP 0x0001c7aa
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 0x0001c5d8
JMP 0x0001d2b0
LEA ECX,[EBX + 0x8d00]
MOV ECX,dword ptr [ECX]
TEST ECX,ECX
JNZ 0x0001d391
SUB EAX,dword ptr [EBP + 0xffffff20]
SBB EDX,dword ptr [EBP + 0xffffff24]
MOV ECX,EDX
MOV EDX,EAX
MOV EAX,0x7fffffff
CALL 0x0001aa30
JMP 0x0001c7aa
SUB ESP,0x4
PUSH 0x0
PUSH EAX
PUSH dword ptr [EBP + 0xfffffed8]
CALL 0x00014270
POP ESI
POP EDI
PUSH 0x0
PUSH EAX
JMP 0x0001c47f
XOR EDX,EDX
MOV EAX,0x11
CALL 0x0001a4e0
XOR EDX,EDX
MOV EAX,0x1
CALL 0x0001a4e0
XOR EDX,EDX
MOV EAX,0x12
CALL 0x0001a4e0
MOV EAX,0x1
XOR EDX,EDX
CALL 0x0001a4e0
JMP 0x0001ce49
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 0x0001cffc
SUB ESP,0x8
LEA EAX,[EBX + 0xfffe12b5]
PUSH 0x0
PUSH EAX
CALL 0x000365f0
POP EDX
POP ECX
PUSH 0x0
PUSH EAX
CALL 0x00036710
ADD ESP,0x10
JMP 0x0001c7d0
MOV EAX,dword ptr [EBX + 0x8748]
SUB ESP,0xc
PUSH dword ptr [EAX + EDX*0x4]
CALL 0x00035180
MOV dword ptr [ESP],EAX
MOV dword ptr [EBP + 0xffffff34],EAX
CALL 0x00014470
MOV ESI,EAX
LEA EAX,[EAX + 0x1]
MOV dword ptr [ESP],EAX
CALL 0x00024a90
MOV EDX,dword ptr [EBP + 0xffffff34]
ADD ESP,0xc
PUSH ESI
MOV EDI,EAX
PUSH EDX
PUSH EAX
CALL 0x00014100
MOV byte ptr [EDI + ESI*0x1],0x2f
MOV EAX,dword ptr [EBX + 0x8754]
ADD ESP,0x10
JMP 0x0001cf01
SUB ESP,0x8
MOV EAX,dword ptr [EAX + 0xc]
PUSH dword ptr [EBX + 0x8734]
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 0x000312d0
MOV EAX,dword ptr [EBX + 0x875c]
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 + 0x8734]
PUSH dword ptr [EBP + 0xfffffef4]
CALL 0x000312d0
ADD ESP,0x10
JMP 0x0001d111
LEA EAX,[EBP + 0xffffff68]
MOV dword ptr [EBP + 0xffffff38],EAX
JMP 0x0001caae
MOV EDI,dword ptr [EBX + 0x875c]
TEST EDI,EDI
JNZ 0x0001c9b0
JMP 0x0001caf4
MOV EDI,dword ptr [EBP + 0xffffff38]
MOVZX EDX,word ptr [EDI + ESI*0x1 + -0x2]
MOV word ptr [EAX + ESI*0x1 + -0x2],DX
JMP 0x0001cffc
LEA EAX,[EBX + 0xfffe1454]
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xfffe1167]
PUSH 0x89e
PUSH EAX
CALL 0x0002be50
LEA EAX,[EBX + 0xfffe1434]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfffe1167]
PUSH 0x830
PUSH EAX
CALL 0x0002be50
(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_0001bfd0(void)\n\n{\n  int *piVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined1 auVar4 [4];\n  int iVar5;\n  uint uVar6;\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  int iVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  uint *puVar22;\n  byte *pbVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  byte *pbVar27;\n  int *piVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  bool bVar31;\n  bool bVar32;\n  bool bVar33;\n  byte bVar34;\n  longlong lVar35;\n  undefined8 uVar36;\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  bVar34 = 0;\n  uStack_14 = 0x1bfdb;\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");\n  bVar32 = true;\n  if (iVar5 != 0) {\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");\n  if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0002bdd0("duplicate .debug_line sections");\n  }\n  if ((DAT_0007775c == (int *)0x0) && (bVar32)) {\n    return;\n  }\n  uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);\n  DAT_00077734 = uVar6 >> 3;\n  uVar7 = FUN_000366b0(".debug_line",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }\n  uVar8 = FUN_0001a440();\n  iVar5 = local_b0;\n  uVar9 = FUN_00024a90(2);\n  FUN_00043d50(uVar9,2,0,2);\n  iVar10 = FUN_00038ab0();\n  iVar11 = FUN_00038ab0();\n  local_a0[0] = 0x14;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_000312d0(&local_b0,uVar8);\n  FUN_0003b370(iVar10);\n  uVar6 = 1;\n  FUN_00024df0(DAT_00078070);\n  FUN_00024df0(1);\n  FUN_00024df0(0xfffffffb);\n  FUN_00024df0(0xe);\n  FUN_00024df0(0xd);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  if (1 < DAT_00077744) {\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }\n  uVar6 = 1;\n  FUN_00024df0(0);\n  if (1 < DAT_00077750) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }\nLAB_0001c398:\n  FUN_00024df0(0);\n  FUN_0003b370(iVar11);\n  puVar3 = PTR__bfd_std_section_0006efb4;\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }\n  if (DAT_00077d94 != 0) {\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }\n  FUN_0003b370(iVar5);\n  if (!bVar32) {\n    return;\n  }\n  if (DAT_0007775c == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_000366b0(".debug_info",0);\n  uVar9 = FUN_000366b0(".debug_abbrev",0);\n  uVar16 = FUN_000366b0(".debug_aranges",0);\n  iVar10 = FUN_000366b0(".debug_str",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);\n  uVar6 = DAT_00077734;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar6 = uVar6 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(uVar16,iVar5);\n  local_ec = *DAT_0007775c;\n  if (local_ec == 0) goto LAB_0001caf4;\n  local_ec = FUN_000366b0(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);\n  uVar6 = DAT_00077734 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(local_ec,iVar5);\n  uVar6 = DAT_00077734;\n  FUN_00036710(local_ec,0);\n  if (uVar6 == 0) {\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\nLAB_0001caf4:\n  uVar6 = DAT_00077734;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a440();\n  auVar4 = local_a4;\n  uVar24 = local_a8;\n  iVar11 = local_b0;\n  uVar16 = FUN_00024a90(2);\n  FUN_00043d50(uVar16,2,0,2);\n  local_9c[0] = FUN_00036760(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_000312d0(local_cc,uVar17);\n  uVar25 = 2 - uVar24;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024df0(uVar6);\n  FUN_00024df0(0);\n  uVar24 = uVar18 + 3;\n  iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar5 = uVar6 * 2;\n  uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);\n  piVar28 = DAT_0007775c;\n  if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }\n  for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }\n  iVar5 = FUN_00024a90(iVar5);\n  FUN_00043d50(iVar5,0,0,uVar6);\n  FUN_00043d50(iVar5 + uVar6,0,0,uVar6);\n  FUN_0003b370(iVar11);\n  FUN_00036710(uVar9,0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  if (*DAT_0007775c == 0) {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_00036710(iVar10,0);\n  uVar24 = FUN_00038b00();\n  if (DAT_00077750 != 0) {\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);\n}\n\n" comment comment (function_definition "void FUN_0001bfd0(void)\n\n{\n  int *piVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined1 auVar4 [4];\n  int iVar5;\n  uint uVar6;\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  int iVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  uint *puVar22;\n  byte *pbVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  byte *pbVar27;\n  int *piVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  bool bVar31;\n  bool bVar32;\n  bool bVar33;\n  byte bVar34;\n  longlong lVar35;\n  undefined8 uVar36;\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  bVar34 = 0;\n  uStack_14 = 0x1bfdb;\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");\n  bVar32 = true;\n  if (iVar5 != 0) {\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");\n  if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0002bdd0("duplicate .debug_line sections");\n  }\n  if ((DAT_0007775c == (int *)0x0) && (bVar32)) {\n    return;\n  }\n  uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);\n  DAT_00077734 = uVar6 >> 3;\n  uVar7 = FUN_000366b0(".debug_line",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }\n  uVar8 = FUN_0001a440();\n  iVar5 = local_b0;\n  uVar9 = FUN_00024a90(2);\n  FUN_00043d50(uVar9,2,0,2);\n  iVar10 = FUN_00038ab0();\n  iVar11 = FUN_00038ab0();\n  local_a0[0] = 0x14;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_000312d0(&local_b0,uVar8);\n  FUN_0003b370(iVar10);\n  uVar6 = 1;\n  FUN_00024df0(DAT_00078070);\n  FUN_00024df0(1);\n  FUN_00024df0(0xfffffffb);\n  FUN_00024df0(0xe);\n  FUN_00024df0(0xd);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  if (1 < DAT_00077744) {\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }\n  uVar6 = 1;\n  FUN_00024df0(0);\n  if (1 < DAT_00077750) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }\nLAB_0001c398:\n  FUN_00024df0(0);\n  FUN_0003b370(iVar11);\n  puVar3 = PTR__bfd_std_section_0006efb4;\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }\n  if (DAT_00077d94 != 0) {\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }\n  FUN_0003b370(iVar5);\n  if (!bVar32) {\n    return;\n  }\n  if (DAT_0007775c == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_000366b0(".debug_info",0);\n  uVar9 = FUN_000366b0(".debug_abbrev",0);\n  uVar16 = FUN_000366b0(".debug_aranges",0);\n  iVar10 = FUN_000366b0(".debug_str",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);\n  uVar6 = DAT_00077734;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar6 = uVar6 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(uVar16,iVar5);\n  local_ec = *DAT_0007775c;\n  if (local_ec == 0) goto LAB_0001caf4;\n  local_ec = FUN_000366b0(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);\n  uVar6 = DAT_00077734 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(local_ec,iVar5);\n  uVar6 = DAT_00077734;\n  FUN_00036710(local_ec,0);\n  if (uVar6 == 0) {\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\nLAB_0001caf4:\n  uVar6 = DAT_00077734;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a440();\n  auVar4 = local_a4;\n  uVar24 = local_a8;\n  iVar11 = local_b0;\n  uVar16 = FUN_00024a90(2);\n  FUN_00043d50(uVar16,2,0,2);\n  local_9c[0] = FUN_00036760(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_000312d0(local_cc,uVar17);\n  uVar25 = 2 - uVar24;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024df0(uVar6);\n  FUN_00024df0(0);\n  uVar24 = uVar18 + 3;\n  iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar5 = uVar6 * 2;\n  uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);\n  piVar28 = DAT_0007775c;\n  if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }\n  for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }\n  iVar5 = FUN_00024a90(iVar5);\n  FUN_00043d50(iVar5,0,0,uVar6);\n  FUN_00043d50(iVar5 + uVar6,0,0,uVar6);\n  FUN_0003b370(iVar11);\n  FUN_00036710(uVar9,0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  if (*DAT_0007775c == 0) {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_00036710(iVar10,0);\n  uVar24 = FUN_00038b00();\n  if (DAT_00077750 != 0) {\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);\n}" primitive_type (function_declarator "FUN_0001bfd0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int *piVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined1 auVar4 [4];\n  int iVar5;\n  uint uVar6;\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  int iVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  uint *puVar22;\n  byte *pbVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  byte *pbVar27;\n  int *piVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  bool bVar31;\n  bool bVar32;\n  bool bVar33;\n  byte bVar34;\n  longlong lVar35;\n  undefined8 uVar36;\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  bVar34 = 0;\n  uStack_14 = 0x1bfdb;\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");\n  bVar32 = true;\n  if (iVar5 != 0) {\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");\n  if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0002bdd0("duplicate .debug_line sections");\n  }\n  if ((DAT_0007775c == (int *)0x0) && (bVar32)) {\n    return;\n  }\n  uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);\n  DAT_00077734 = uVar6 >> 3;\n  uVar7 = FUN_000366b0(".debug_line",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }\n  uVar8 = FUN_0001a440();\n  iVar5 = local_b0;\n  uVar9 = FUN_00024a90(2);\n  FUN_00043d50(uVar9,2,0,2);\n  iVar10 = FUN_00038ab0();\n  iVar11 = FUN_00038ab0();\n  local_a0[0] = 0x14;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_000312d0(&local_b0,uVar8);\n  FUN_0003b370(iVar10);\n  uVar6 = 1;\n  FUN_00024df0(DAT_00078070);\n  FUN_00024df0(1);\n  FUN_00024df0(0xfffffffb);\n  FUN_00024df0(0xe);\n  FUN_00024df0(0xd);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  if (1 < DAT_00077744) {\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }\n  uVar6 = 1;\n  FUN_00024df0(0);\n  if (1 < DAT_00077750) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }\nLAB_0001c398:\n  FUN_00024df0(0);\n  FUN_0003b370(iVar11);\n  puVar3 = PTR__bfd_std_section_0006efb4;\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }\n  if (DAT_00077d94 != 0) {\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }\n  FUN_0003b370(iVar5);\n  if (!bVar32) {\n    return;\n  }\n  if (DAT_0007775c == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_000366b0(".debug_info",0);\n  uVar9 = FUN_000366b0(".debug_abbrev",0);\n  uVar16 = FUN_000366b0(".debug_aranges",0);\n  iVar10 = FUN_000366b0(".debug_str",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);\n  uVar6 = DAT_00077734;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar6 = uVar6 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(uVar16,iVar5);\n  local_ec = *DAT_0007775c;\n  if (local_ec == 0) goto LAB_0001caf4;\n  local_ec = FUN_000366b0(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);\n  uVar6 = DAT_00077734 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(local_ec,iVar5);\n  uVar6 = DAT_00077734;\n  FUN_00036710(local_ec,0);\n  if (uVar6 == 0) {\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\nLAB_0001caf4:\n  uVar6 = DAT_00077734;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a440();\n  auVar4 = local_a4;\n  uVar24 = local_a8;\n  iVar11 = local_b0;\n  uVar16 = FUN_00024a90(2);\n  FUN_00043d50(uVar16,2,0,2);\n  local_9c[0] = FUN_00036760(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_000312d0(local_cc,uVar17);\n  uVar25 = 2 - uVar24;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024df0(uVar6);\n  FUN_00024df0(0);\n  uVar24 = uVar18 + 3;\n  iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar5 = uVar6 * 2;\n  uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);\n  piVar28 = DAT_0007775c;\n  if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }\n  for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }\n  iVar5 = FUN_00024a90(iVar5);\n  FUN_00043d50(iVar5,0,0,uVar6);\n  FUN_00043d50(iVar5 + uVar6,0,0,uVar6);\n  FUN_0003b370(iVar11);\n  FUN_00036710(uVar9,0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  if (*DAT_0007775c == 0) {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_00036710(iVar10,0);\n  uVar24 = FUN_00038b00();\n  if (DAT_00077750 != 0) {\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "longlong lVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined1 auVar4 [4];" type_identifier (array_declarator "auVar4 [4]" identifier [ number_literal ]) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier 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 "int iVar19;" primitive_type identifier ;) (declaration "uint *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "uint *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "undefined4 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "byte *pbVar27;" type_identifier (pointer_declarator "*pbVar27" * identifier) ;) (declaration "int *piVar28;" primitive_type (pointer_declarator "*piVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "undefined4 *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "bool bVar31;" primitive_type identifier ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "bool bVar33;" primitive_type identifier ;) (declaration "byte bVar34;" type_identifier identifier ;) (declaration "longlong lVar35;" type_identifier identifier ;) (declaration "undefined8 uVar36;" 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 "bVar34 = 0;" (assignment_expression "bVar34 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x1bfdb;" (assignment_expression "uStack_14 = 0x1bfdb" identifier = number_literal) ;) (expression_statement "iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");" (assignment_expression "iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info")" identifier = (call_expression "bfd_get_section_by_name(DAT_00077ec4,".debug_info")" identifier (argument_list "(DAT_00077ec4,".debug_info")" ( identifier , (string_literal "".debug_info"" " string_content ") )))) ;) (expression_statement "bVar32 = true;" (assignment_expression "bVar32 = true" identifier = true) ;) (if_statement "if (iVar5 != 0) {\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }" { (expression_statement "iVar5 = FUN_000368e0(iVar5);" (assignment_expression "iVar5 = FUN_000368e0(iVar5)" identifier = (call_expression "FUN_000368e0(iVar5)" identifier (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "bVar32 = iVar5 == 0;" (assignment_expression "bVar32 = iVar5 == 0" identifier = (binary_expression "iVar5 == 0" identifier == number_literal)) ;) })) (expression_statement "iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");" (assignment_expression "iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line")" identifier = (call_expression "bfd_get_section_by_name(DAT_00077ec4,".debug_line")" identifier (argument_list "(DAT_00077ec4,".debug_line")" ( identifier , (string_literal "".debug_line"" " string_content ") )))) ;) (if_statement "if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0002bdd0("duplicate .debug_line sections");\n  }" if (parenthesized_expression "((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0))" ( (binary_expression "(iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 = FUN_000368e0(iVar5), iVar5 != 0)" ( (comma_expression "iVar5 = FUN_000368e0(iVar5), iVar5 != 0" (assignment_expression "iVar5 = FUN_000368e0(iVar5)" identifier = (call_expression "FUN_000368e0(iVar5)" identifier (argument_list "(iVar5)" ( identifier )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0002bdd0("duplicate .debug_line sections");\n  }" { (if_statement "if (DAT_0007775c == (int *)0x0) {\n      return;\n    }" if (parenthesized_expression "(DAT_0007775c == (int *)0x0)" ( (binary_expression "DAT_0007775c == (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_0002bdd0("duplicate .debug_line sections");" (call_expression "FUN_0002bdd0("duplicate .debug_line sections")" identifier (argument_list "("duplicate .debug_line sections")" ( (string_literal ""duplicate .debug_line sections"" " string_content ") ))) ;) })) (if_statement "if ((DAT_0007775c == (int *)0x0) && (bVar32)) {\n    return;\n  }" if (parenthesized_expression "((DAT_0007775c == (int *)0x0) && (bVar32))" ( (binary_expression "(DAT_0007775c == (int *)0x0) && (bVar32)" (parenthesized_expression "(DAT_0007775c == (int *)0x0)" ( (binary_expression "DAT_0007775c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar32)" ( identifier ))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);" (assignment_expression "uVar6 = bfd_arch_bits_per_address(DAT_00077ec4)" identifier = (call_expression "bfd_arch_bits_per_address(DAT_00077ec4)" identifier (argument_list "(DAT_00077ec4)" ( identifier )))) ;) (expression_statement "DAT_00077734 = uVar6 >> 3;" (assignment_expression "DAT_00077734 = uVar6 >> 3" identifier = (binary_expression "uVar6 >> 3" identifier >> number_literal)) ;) (expression_statement "uVar7 = FUN_000366b0(".debug_line",0);" (assignment_expression "uVar7 = FUN_000366b0(".debug_line",0)" identifier = (call_expression "FUN_000366b0(".debug_line",0)" identifier (argument_list "(".debug_line",0)" ( (string_literal "".debug_line"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008)" identifier (argument_list "(DAT_00077ec4,uVar7,0x2008)" ( identifier , identifier , number_literal ))) ;) (for_statement "for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }" for ( (assignment_expression "piVar28 = DAT_0007775c" identifier = identifier) ; (binary_expression "piVar28 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar28 = (int *)*piVar28" identifier = (cast_expression "(int *)*piVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar28" * identifier))) ) (compound_statement "{\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }" { (expression_statement "puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];" (assignment_expression "puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3]" identifier = (cast_expression "(undefined4 *)((undefined4 *)piVar28[2])[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((undefined4 *)piVar28[2])[3]" (parenthesized_expression "((undefined4 *)piVar28[2])" ( (cast_expression "(undefined4 *)piVar28[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar28[2]" identifier [ number_literal ])) )) [ number_literal ]))) ;) (for_statement "for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }" for ( (assignment_expression "puVar30 = *(undefined4 **)piVar28[2]" identifier = (pointer_expression "*(undefined4 **)piVar28[2]" * (cast_expression "(undefined4 **)piVar28[2]" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar28[2]" identifier [ number_literal ])))) ; (binary_expression "puVar30 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar30 = (undefined4 *)*puVar30" identifier = (cast_expression "(undefined4 *)*puVar30" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar30" * identifier))) ) (compound_statement "{\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }" { (expression_statement "*puVar26 = puVar30[2];" (assignment_expression "*puVar26 = puVar30[2]" (pointer_expression "*puVar26" * identifier) = (subscript_expression "puVar30[2]" identifier [ number_literal ])) ;) (expression_statement "puVar26 = (undefined4 *)puVar30[3];" (assignment_expression "puVar26 = (undefined4 *)puVar30[3]" identifier = (cast_expression "(undefined4 *)puVar30[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[3]" identifier [ number_literal ]))) ;) })) })) (expression_statement "uVar8 = FUN_0001a440();" (assignment_expression "uVar8 = FUN_0001a440()" identifier = (call_expression "FUN_0001a440()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = local_b0;" (assignment_expression "iVar5 = local_b0" identifier = identifier) ;) (expression_statement "uVar9 = FUN_00024a90(2);" (assignment_expression "uVar9 = FUN_00024a90(2)" identifier = (call_expression "FUN_00024a90(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_00043d50(uVar9,2,0,2);" (call_expression "FUN_00043d50(uVar9,2,0,2)" identifier (argument_list "(uVar9,2,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "iVar10 = FUN_00038ab0();" (assignment_expression "iVar10 = FUN_00038ab0()" identifier = (call_expression "FUN_00038ab0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar11 = FUN_00038ab0();" (assignment_expression "iVar11 = FUN_00038ab0()" identifier = (call_expression "FUN_00038ab0()" 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 "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_000312d0(&local_b0,uVar8);" (call_expression "FUN_000312d0(&local_b0,uVar8)" identifier (argument_list "(&local_b0,uVar8)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) (expression_statement "FUN_0003b370(iVar10);" (call_expression "FUN_0003b370(iVar10)" identifier (argument_list "(iVar10)" ( identifier ))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "FUN_00024df0(DAT_00078070);" (call_expression "FUN_00024df0(DAT_00078070)" identifier (argument_list "(DAT_00078070)" ( identifier ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0xfffffffb);" (call_expression "FUN_00024df0(0xfffffffb)" identifier (argument_list "(0xfffffffb)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0xe);" (call_expression "FUN_00024df0(0xe)" identifier (argument_list "(0xe)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0xd);" (call_expression "FUN_00024df0(0xd)" identifier (argument_list "(0xd)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (if_statement "if (1 < DAT_00077744) {\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }" if (parenthesized_expression "(1 < DAT_00077744)" ( (binary_expression "1 < DAT_00077744" number_literal < identifier) )) (compound_statement "{\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }" { (do_statement "do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);" do (compound_statement "{\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    }" { (expression_statement "iVar10 = uVar6 * 4;" (assignment_expression "iVar10 = uVar6 * 4" identifier = (binary_expression "uVar6 * 4" identifier * number_literal)) ;) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));" (assignment_expression "pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10))" identifier = (cast_expression "(char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10))" identifier (argument_list "(*(undefined4 *)(DAT_00077748 + iVar10))" ( (pointer_expression "*(undefined4 *)(DAT_00077748 + iVar10)" * (cast_expression "(undefined4 *)(DAT_00077748 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00077748 + iVar10)" ( (binary_expression "DAT_00077748 + 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_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a90(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 "(uVar6 < DAT_00077744)" ( (binary_expression "uVar6 < DAT_00077744" identifier < identifier) )) ;) })) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (if_statement "if (1 < DAT_00077750) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }" if (parenthesized_expression "(1 < DAT_00077750)" ( (binary_expression "1 < DAT_00077750" number_literal < identifier) )) (compound_statement "{\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }" { (do_statement "do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);" do (compound_statement "{\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    }" { (while_statement "while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }" while (parenthesized_expression "(pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0)" ( (comma_expression "pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0" (assignment_expression "pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8)" identifier = (pointer_expression "*(char **)(DAT_00077754 + uVar6 * 8)" * (cast_expression "(char **)(DAT_00077754 + uVar6 * 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00077754 + uVar6 * 8)" ( (binary_expression "DAT_00077754 + uVar6 * 8" identifier + (binary_expression "uVar6 * 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_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\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_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a90(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 "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_00077750 <= uVar6) goto LAB_0001c398;" if (parenthesized_expression "(DAT_00077750 <= uVar6)" ( (binary_expression "DAT_00077750 <= uVar6" identifier <= identifier) )) (goto_statement "goto LAB_0001c398;" 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_0002bd30(uVar8,uVar6);" (call_expression "FUN_0002bd30(uVar8,uVar6)" identifier (argument_list "(uVar8,uVar6)" ( identifier , identifier ))) ;) (expression_statement "*(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;" (assignment_expression "*(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45" (pointer_expression "*(undefined **)(DAT_00077754 + uVar6 * 8)" * (cast_expression "(undefined **)(DAT_00077754 + uVar6 * 8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00077754 + uVar6 * 8)" ( (binary_expression "DAT_00077754 + uVar6 * 8" identifier + (binary_expression "uVar6 * 8" identifier * number_literal)) )))) = (pointer_expression "&DAT_00050b45" & identifier)) ;) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar6 < DAT_00077750)" ( (binary_expression "uVar6 < DAT_00077750" identifier < identifier) )) ;) })) (labeled_statement "LAB_0001c398:\n  FUN_00024df0(0);" statement_identifier : (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "FUN_0003b370(iVar11);" (call_expression "FUN_0003b370(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;) (expression_statement "puVar3 = PTR__bfd_std_section_0006efb4;" (assignment_expression "puVar3 = PTR__bfd_std_section_0006efb4" identifier = identifier) ;) (for_statement "for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }" for ( (assignment_expression "piVar28 = DAT_0007775c" identifier = identifier) ; (binary_expression "piVar28 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar28 = (int *)*piVar28" identifier = (cast_expression "(int *)*piVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar28" * identifier))) ) (compound_statement "{\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }" { (expression_statement "puVar26 = (undefined4 *)piVar28[1];" (assignment_expression "puVar26 = (undefined4 *)piVar28[1]" identifier = (cast_expression "(undefined4 *)piVar28[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar28[1]" identifier [ number_literal ]))) ;) (if_statement "if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }" if (parenthesized_expression "((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0))" ( (binary_expression "(((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)" (parenthesized_expression "(((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90))" ( (binary_expression "((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)" (parenthesized_expression "((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))" ( (binary_expression "(puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180))" (parenthesized_expression "(puVar26 == (undefined4 *)(puVar3 + 0xc0))" ( (binary_expression "puVar26 == (undefined4 *)(puVar3 + 0xc0)" identifier == (cast_expression "(undefined4 *)(puVar3 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0xc0)" ( (binary_expression "puVar3 + 0xc0" identifier + number_literal) )))) )) || (parenthesized_expression "(puVar26 == (undefined4 *)(puVar3 + 0x180))" ( (binary_expression "puVar26 == (undefined4 *)(puVar3 + 0x180)" identifier == (cast_expression "(undefined4 *)(puVar3 + 0x180)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x180)" ( (binary_expression "puVar3 + 0x180" identifier + number_literal) )))) ))) )) || (parenthesized_expression "(puVar26 == DAT_00077d90)" ( (binary_expression "puVar26 == DAT_00077d90" identifier == identifier) ))) )) || (parenthesized_expression "(puVar26 == DAT_00077ce0)" ( (binary_expression "puVar26 == DAT_00077ce0" identifier == identifier) ))) )) (compound_statement "{\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }" { (expression_statement "FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);" (call_expression "FUN_0002bc50("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 **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }" else (compound_statement "{\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }" { (expression_statement "local_c4 = *(int **)(piVar28[2] + 8);" (assignment_expression "local_c4 = *(int **)(piVar28[2] + 8)" identifier = (pointer_expression "*(int **)(piVar28[2] + 8)" * (cast_expression "(int **)(piVar28[2] + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar28[2] + 8)" ( (binary_expression "piVar28[2] + 8" (subscript_expression "piVar28[2]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (expression_statement "bVar33 = DAT_00077d94 == 0;" (assignment_expression "bVar33 = DAT_00077d94 == 0" identifier = (binary_expression "DAT_00077d94 == 0" identifier == number_literal)) ;) (if_statement "if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }" if (parenthesized_expression "(!bVar33)" ( (unary_expression "!bVar33" ! identifier) )) (compound_statement "{\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }" { (expression_statement "iVar10 = 6;" (assignment_expression "iVar10 = 6" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)*puVar26;" (assignment_expression "pbVar23 = (byte *)*puVar26" identifier = (cast_expression "(byte *)*puVar26" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ;) (expression_statement "pbVar27 = (byte *)".text";" (assignment_expression "pbVar27 = (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          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);" do (compound_statement "{\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -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 "bVar31 = *pbVar23 < *pbVar27;" (assignment_expression "bVar31 = *pbVar23 < *pbVar27" identifier = (binary_expression "*pbVar23 < *pbVar27" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar27" * identifier))) ;) (expression_statement "bVar33 = *pbVar23 == *pbVar27;" (assignment_expression "bVar33 = *pbVar23 == *pbVar27" identifier = (binary_expression "*pbVar23 == *pbVar27" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar27" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar34 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;" (assignment_expression "pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "pbVar27 + (uint)bVar34 * -2 + 1" (binary_expression "pbVar27 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar33)" ( identifier )) ;) (expression_statement "pcVar12 = ".debug_line";" (assignment_expression "pcVar12 = ".debug_line"" identifier = (string_literal "".debug_line"" " string_content ")) ;) (if_statement "if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }" if (parenthesized_expression "((!bVar31 && !bVar33) != bVar31)" ( (binary_expression "(!bVar31 && !bVar33) != bVar31" (parenthesized_expression "(!bVar31 && !bVar33)" ( (binary_expression "!bVar31 && !bVar33" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar33" ! 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_000365f0(pcVar12,0);" (assignment_expression "uVar8 = FUN_000365f0(pcVar12,0)" identifier = (call_expression "FUN_000365f0(pcVar12,0)" identifier (argument_list "(pcVar12,0)" ( identifier , number_literal )))) ;) (expression_statement "FUN_00036710(uVar8,0);" (call_expression "FUN_00036710(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 "lVar2 = 0;" (assignment_expression "lVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\n      } while (piVar1 != (int *)0x0);" do (compound_statement "{\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\n      }" { (expression_statement "local_108 = (int)((ulonglong)lVar2 >> 0x20);" (assignment_expression "local_108 = (int)((ulonglong)lVar2 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar2 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar2 >> 0x20)" ( (binary_expression "(ulonglong)lVar2 >> 0x20" (cast_expression "(ulonglong)lVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_10c = (uint)lVar2;" (assignment_expression "local_10c = (uint)lVar2" identifier = (cast_expression "(uint)lVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar29 = local_c4[2];" (assignment_expression "iVar29 = local_c4[2]" identifier = (subscript_expression "local_c4[2]" identifier [ number_literal ])) ;) (if_statement "if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }" if (parenthesized_expression "(iVar29 != local_e8)" ( (binary_expression "iVar29 != local_e8" identifier != identifier) )) (compound_statement "{\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }" { (expression_statement "FUN_00024df0(4);" (call_expression "FUN_00024df0(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar21 = local_c4[4];" (assignment_expression "iVar21 = local_c4[4]" identifier = (subscript_expression "local_c4[4]" identifier [ number_literal ])) ;) (if_statement "if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }" if (parenthesized_expression "(iVar21 != iVar10)" ( (binary_expression "iVar21 != iVar10" identifier != identifier) )) (compound_statement "{\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }" { (expression_statement "FUN_00024df0(5);" (call_expression "FUN_00024df0(5)" identifier (argument_list "(5)" ( number_literal ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\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_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }" { (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar10 = FUN_00031b10(local_c4[7],0,0);" (assignment_expression "iVar10 = FUN_00031b10(local_c4[7],0,0)" identifier = (call_expression "FUN_00031b10(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_00031b10(iVar10 + 1,0,1);" (assignment_expression "uVar8 = FUN_00031b10(iVar10 + 1,0,1)" identifier = (call_expression "FUN_00031b10(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_00024a90(uVar8);" (assignment_expression "uVar8 = FUN_00024a90(uVar8)" identifier = (call_expression "FUN_00024a90(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "FUN_00031b50(uVar8,iVar10 + 1,0,1);" (call_expression "FUN_00031b50(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_00024df0(4);" (call_expression "FUN_00024df0(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar19 = local_c4[5];" (assignment_expression "iVar19 = local_c4[5]" identifier = (subscript_expression "local_c4[5]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }" if (parenthesized_expression "(iVar19 != iVar11)" ( (binary_expression "iVar19 != iVar11" identifier != identifier) )) (compound_statement "{\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }" { (expression_statement "FUN_00024df0(0xc);" (call_expression "FUN_00024df0(0xc)" identifier (argument_list "(0xc)" ( number_literal ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar6 = local_c4[6];" (assignment_expression "uVar6 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) (expression_statement "uVar24 = uVar6;" (assignment_expression "uVar24 = uVar6" identifier = identifier) ;) (if_statement "if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }" if (parenthesized_expression "(((local_100 ^ uVar6) & 1) != 0)" ( (binary_expression "((local_100 ^ uVar6) & 1) != 0" (parenthesized_expression "((local_100 ^ uVar6) & 1)" ( (binary_expression "(local_100 ^ uVar6) & 1" (parenthesized_expression "(local_100 ^ uVar6)" ( (binary_expression "local_100 ^ uVar6" identifier ^ identifier) )) & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }" { (expression_statement "FUN_00024df0(6);" (call_expression "FUN_00024df0(6)" identifier (argument_list "(6)" ( number_literal ))) ;) (expression_statement "uVar24 = local_c4[6];" (assignment_expression "uVar24 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) (expression_statement "local_100 = uVar6;" (assignment_expression "local_100 = uVar6" identifier = identifier) ;) })) (if_statement "if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }" if (parenthesized_expression "((uVar24 & 2) != 0)" ( (binary_expression "(uVar24 & 2) != 0" (parenthesized_expression "(uVar24 & 2)" ( (binary_expression "uVar24 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }" { (expression_statement "FUN_00024df0(7);" (call_expression "FUN_00024df0(7)" identifier (argument_list "(7)" ( number_literal ))) ;) (expression_statement "uVar24 = local_c4[6];" (assignment_expression "uVar24 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) })) (if_statement "if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }" if (parenthesized_expression "((uVar24 & 4) != 0)" ( (binary_expression "(uVar24 & 4) != 0" (parenthesized_expression "(uVar24 & 4)" ( (binary_expression "uVar24 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }" { (expression_statement "FUN_00024df0(10);" (call_expression "FUN_00024df0(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "uVar24 = local_c4[6];" (assignment_expression "uVar24 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) })) (if_statement "if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }" if (parenthesized_expression "((uVar24 & 8) != 0)" ( (binary_expression "(uVar24 & 8) != 0" (parenthesized_expression "(uVar24 & 8)" ( (binary_expression "uVar24 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024df0(0xb);\n        }" { (expression_statement "FUN_00024df0(0xb);" (call_expression "FUN_00024df0(0xb)" identifier (argument_list "(0xb)" ( number_literal ))) ;) })) (expression_statement "uVar6 = local_c4[1];" (assignment_expression "uVar6 = local_c4[1]" identifier = (subscript_expression "local_c4[1]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = FUN_0003b3c0(uVar6);" (assignment_expression "iVar15 = FUN_0003b3c0(uVar6)" identifier = (call_expression "FUN_0003b3c0(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "lVar35 = FUN_00039f50(uVar6);" (assignment_expression "lVar35 = FUN_00039f50(uVar6)" identifier = (call_expression "FUN_00039f50(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (if_statement "if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }" if (parenthesized_expression "(local_d0 == 0)" ( (binary_expression "local_d0 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }" { (labeled_statement "LAB_0001d2b0:\n          FUN_00024df0(0);" statement_identifier : (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024df0(2);" (call_expression "FUN_00024df0(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] = uVar6;" (assignment_expression "local_9c[0] = uVar6" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_000312d0(local_9c,DAT_00077734);" (call_expression "FUN_000312d0(local_9c,DAT_00077734)" identifier (argument_list "(local_9c,DAT_00077734)" ( identifier , identifier ))) ;) (expression_statement "FUN_0001aa30();" (call_expression "FUN_0001aa30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }" else (compound_statement "{\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }" { (if_statement "if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }" if (parenthesized_expression "((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0))" ( (binary_expression "(local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)" (parenthesized_expression "(local_c4[8] == DAT_0007773c)" ( (binary_expression "local_c4[8] == DAT_0007773c" (subscript_expression "local_c4[8]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "(DAT_0007773c != 0)" ( (binary_expression "DAT_0007773c != 0" identifier != number_literal) ))) )) (compound_statement "{\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }" { (if_statement "if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;" if (parenthesized_expression "(iVar15 == local_d0)" ( (binary_expression "iVar15 == local_d0" identifier == identifier) )) (compound_statement "{\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }" { (if_statement "if (lVar35 != lVar2) goto LAB_0001c5d8;" if (parenthesized_expression "(lVar35 != lVar2)" ( (binary_expression "lVar35 != lVar2" identifier != identifier) )) (goto_statement "goto LAB_0001c5d8;" goto statement_identifier ;)) }) (else_clause "else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;" else (if_statement "if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;" if (parenthesized_expression "((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0))" ( (binary_expression "(lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)" (parenthesized_expression "(lVar35 != 0)" ( (binary_expression "lVar35 != 0" identifier != number_literal) )) || (parenthesized_expression "(uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)" ( (comma_expression "uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (assignment_expression "uVar36 = FUN_0001a520()" identifier = (call_expression "FUN_0001a520()" identifier (argument_list "()" ( )))) , (comma_expression "iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (assignment_expression "iVar11 = (int)((ulonglong)uVar36 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) , (comma_expression "uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (assignment_expression "uVar24 = (uint)(local_10c < (uint)uVar36)" identifier = (call_expression "(uint)(local_10c < (uint)uVar36)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_10c < (uint)uVar36)" ( (binary_expression "local_10c < (uint)uVar36" identifier < (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (comma_expression "iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (assignment_expression "iVar10 = local_108 - iVar11" identifier = (binary_expression "local_108 - iVar11" identifier - identifier)) , (binary_expression "(SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (parenthesized_expression "(SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24))" ( (binary_expression "SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)" (call_expression "SBORROW4(local_108,iVar11)" identifier (argument_list "(local_108,iVar11)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar10,uVar24)" identifier (argument_list "(iVar10,uVar24)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar10 - uVar24) < 0" (cast_expression "(int)(iVar10 - uVar24)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar10 - uVar24)" ( (binary_expression "iVar10 - uVar24" identifier - identifier) ))) < number_literal)))))) ))) )) (goto_statement "goto LAB_0001c5e8;" goto statement_identifier ;)))) (goto_statement "goto LAB_0001d2b0;" goto statement_identifier ;) })) (if_statement "if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }" if (parenthesized_expression "(iVar15 == local_d0)" ( (binary_expression "iVar15 == local_d0" identifier == identifier) )) (compound_statement "{\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }" { (labeled_statement "LAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;" statement_identifier : (if_statement "if (DAT_00077d00 != 0) goto LAB_0001c5e8;" if (parenthesized_expression "(DAT_00077d00 != 0)" ( (binary_expression "DAT_00077d00 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001c5e8;" goto statement_identifier ;))) (expression_statement "FUN_0001aa30();" (call_expression "FUN_0001aa30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }" else (compound_statement "{\nLAB_0001c5e8:\n            FUN_0001a760();\n          }" { (labeled_statement "LAB_0001c5e8:\n            FUN_0001a760();" statement_identifier : (expression_statement "FUN_0001a760();" (call_expression "FUN_0001a760()" 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 = iVar21;" (assignment_expression "iVar10 = iVar21" identifier = identifier) ;) (expression_statement "iVar11 = iVar19;" (assignment_expression "iVar11 = iVar19" identifier = identifier) ;) (expression_statement "local_e8 = iVar29;" (assignment_expression "local_e8 = iVar29" 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 "lVar2 = lVar35;" (assignment_expression "lVar2 = lVar35" 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 "uVar36 = FUN_0001a520();" (assignment_expression "uVar36 = FUN_0001a520()" identifier = (call_expression "FUN_0001a520()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }" if (parenthesized_expression "((iVar15 == iVar10) && (DAT_00077d00 == 0))" ( (binary_expression "(iVar15 == iVar10) && (DAT_00077d00 == 0)" (parenthesized_expression "(iVar15 == iVar10)" ( (binary_expression "iVar15 == iVar10" identifier == identifier) )) && (parenthesized_expression "(DAT_00077d00 == 0)" ( (binary_expression "DAT_00077d00 == 0" identifier == number_literal) ))) )) (compound_statement "{\n        FUN_0001aa30();\n      }" { (expression_statement "FUN_0001aa30();" (call_expression "FUN_0001aa30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }" else (compound_statement "{\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }" { (expression_statement "FUN_00038ad0(puVar26,uVar36,iVar10);" (call_expression "FUN_00038ad0(puVar26,uVar36,iVar10)" identifier (argument_list "(puVar26,uVar36,iVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0001a760();" (call_expression "FUN_0001a760()" identifier (argument_list "()" ( ))) ;) }))) }))) })) (if_statement "if (DAT_00077d94 != 0) {\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }" if (parenthesized_expression "(DAT_00077d94 != 0)" ( (binary_expression "DAT_00077d94 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }" { (expression_statement "uVar8 = FUN_000365f0(".debug_line_end",0);" (assignment_expression "uVar8 = FUN_000365f0(".debug_line_end",0)" identifier = (call_expression "FUN_000365f0(".debug_line_end",0)" identifier (argument_list "(".debug_line_end",0)" ( (string_literal "".debug_line_end"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00036710(uVar8,0);" (call_expression "FUN_00036710(uVar8,0)" identifier (argument_list "(uVar8,0)" ( identifier , number_literal ))) ;) })) (expression_statement "FUN_0003b370(iVar5);" (call_expression "FUN_0003b370(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))) ;) (if_statement "if (!bVar32) {\n    return;\n  }" if (parenthesized_expression "(!bVar32)" ( (unary_expression "!bVar32" ! identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_0007775c == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }" if (parenthesized_expression "(DAT_0007775c == (int *)0x0)" ( (binary_expression "DAT_0007775c == (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_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }" { comment (expression_statement "FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);" (call_expression "FUN_0002be50("../../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_000366b0(".debug_info",0);" (assignment_expression "uVar8 = FUN_000366b0(".debug_info",0)" identifier = (call_expression "FUN_000366b0(".debug_info",0)" identifier (argument_list "(".debug_info",0)" ( (string_literal "".debug_info"" " string_content ") , number_literal )))) ;) (expression_statement "uVar9 = FUN_000366b0(".debug_abbrev",0);" (assignment_expression "uVar9 = FUN_000366b0(".debug_abbrev",0)" identifier = (call_expression "FUN_000366b0(".debug_abbrev",0)" identifier (argument_list "(".debug_abbrev",0)" ( (string_literal "".debug_abbrev"" " string_content ") , number_literal )))) ;) (expression_statement "uVar16 = FUN_000366b0(".debug_aranges",0);" (assignment_expression "uVar16 = FUN_000366b0(".debug_aranges",0)" identifier = (call_expression "FUN_000366b0(".debug_aranges",0)" identifier (argument_list "(".debug_aranges",0)" ( (string_literal "".debug_aranges"" " string_content ") , number_literal )))) ;) (expression_statement "iVar10 = FUN_000366b0(".debug_str",0);" (assignment_expression "iVar10 = FUN_000366b0(".debug_str",0)" identifier = (call_expression "FUN_000366b0(".debug_str",0)" identifier (argument_list "(".debug_str",0)" ( (string_literal "".debug_str"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008)" identifier (argument_list "(DAT_00077ec4,uVar8,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008)" identifier (argument_list "(DAT_00077ec4,uVar9,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008)" identifier (argument_list "(DAT_00077ec4,uVar16,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008)" identifier (argument_list "(DAT_00077ec4,iVar10,0x1802008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar6 = DAT_00077734;" (assignment_expression "uVar6 = DAT_00077734" 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 "uVar6 = uVar6 * 2;" (assignment_expression "uVar6 = uVar6 * 2" identifier = (binary_expression "uVar6 * 2" identifier * number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (if_statement "if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }" { (for_statement "for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }" for ( ; (binary_expression "(uVar6 >> iVar5 & 1) == 0" (parenthesized_expression "(uVar6 >> iVar5 & 1)" ( (binary_expression "uVar6 >> iVar5 & 1" (binary_expression "uVar6 >> iVar5" identifier >> identifier) & number_literal) )) == number_literal) ; (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ) (compound_statement "{\n    }" { })) })) (if_statement "if (uVar6 == 0) {\n    iVar5 = -1;\n  }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar5 = -1;\n  }" { (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" identifier = number_literal) ;) })) (expression_statement "FUN_0003f050(uVar16,iVar5);" (call_expression "FUN_0003f050(uVar16,iVar5)" identifier (argument_list "(uVar16,iVar5)" ( identifier , identifier ))) ;) (expression_statement "local_ec = *DAT_0007775c;" (assignment_expression "local_ec = *DAT_0007775c" identifier = (pointer_expression "*DAT_0007775c" * identifier)) ;) (if_statement "if (local_ec == 0) goto LAB_0001caf4;" if (parenthesized_expression "(local_ec == 0)" ( (binary_expression "local_ec == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001caf4;" goto statement_identifier ;)) (expression_statement "local_ec = FUN_000366b0(".debug_ranges",0);" (assignment_expression "local_ec = FUN_000366b0(".debug_ranges",0)" identifier = (call_expression "FUN_000366b0(".debug_ranges",0)" identifier (argument_list "(".debug_ranges",0)" ( (string_literal "".debug_ranges"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008)" identifier (argument_list "(DAT_00077ec4,local_ec,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar6 = DAT_00077734 * 2;" (assignment_expression "uVar6 = DAT_00077734 * 2" identifier = (binary_expression "DAT_00077734 * 2" identifier * number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (if_statement "if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }" { (for_statement "for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }" for ( ; (binary_expression "(uVar6 >> iVar5 & 1) == 0" (parenthesized_expression "(uVar6 >> iVar5 & 1)" ( (binary_expression "uVar6 >> iVar5 & 1" (binary_expression "uVar6 >> iVar5" identifier >> identifier) & number_literal) )) == number_literal) ; (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ) (compound_statement "{\n    }" { })) })) (if_statement "if (uVar6 == 0) {\n    iVar5 = -1;\n  }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar5 = -1;\n  }" { (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" identifier = number_literal) ;) })) (expression_statement "FUN_0003f050(local_ec,iVar5);" (call_expression "FUN_0003f050(local_ec,iVar5)" identifier (argument_list "(local_ec,iVar5)" ( identifier , identifier ))) ;) (expression_statement "uVar6 = DAT_00077734;" (assignment_expression "uVar6 = DAT_00077734" identifier = identifier) ;) (expression_statement "FUN_00036710(local_ec,0);" (call_expression "FUN_00036710(local_ec,0)" identifier (argument_list "(local_ec,0)" ( identifier , number_literal ))) ;) (if_statement "if (uVar6 == 0) {\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }" { (if_statement "if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;" if (parenthesized_expression "(DAT_0007775c == (int *)0x0)" ( (binary_expression "DAT_0007775c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001caf4;" goto statement_identifier ;)) (labeled_statement "LAB_0001c9b0:\n    piVar28 = DAT_0007775c;" statement_identifier : (expression_statement "piVar28 = DAT_0007775c;" (assignment_expression "piVar28 = DAT_0007775c" identifier = identifier) ;)) (do_statement "do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);" do (compound_statement "{\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    }" { (expression_statement "uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));" (assignment_expression "uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" identifier = (call_expression "FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" identifier (argument_list "(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" ( (subscript_expression "piVar28[1]" identifier [ number_literal ]) , number_literal , number_literal , (pointer_expression "*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80)" * (cast_expression "(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(piVar28[1] + 0x80)" * (pointer_expression "*(undefined4 **)(piVar28[1] + 0x80)" * (cast_expression "(undefined4 **)(piVar28[1] + 0x80)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar28[1] + 0x80)" ( (binary_expression "piVar28[1] + 0x80" (subscript_expression "piVar28[1]" identifier [ number_literal ]) + number_literal) ))))))) )))) ;) (expression_statement "iVar5 = piVar28[1];" (assignment_expression "iVar5 = piVar28[1]" identifier = (subscript_expression "piVar28[1]" identifier [ number_literal ])) ;) (expression_statement "piVar28[3] = uVar24;" (assignment_expression "piVar28[3] = uVar24" (subscript_expression "piVar28[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar11 = **(int **)(iVar5 + 0x80);" (assignment_expression "iVar11 = **(int **)(iVar5 + 0x80)" identifier = (pointer_expression "**(int **)(iVar5 + 0x80)" * (pointer_expression "*(int **)(iVar5 + 0x80)" * (cast_expression "(int **)(iVar5 + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x80)" ( (binary_expression "iVar5 + 0x80" identifier + number_literal) )))))) ;) (do_statement "do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);" do (compound_statement "{\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      }" { (expression_statement "iVar29 = iVar11;" (assignment_expression "iVar29 = iVar11" identifier = identifier) ;) (expression_statement "iVar11 = *(int *)(iVar29 + 8);" (assignment_expression "iVar11 = *(int *)(iVar29 + 8)" identifier = (pointer_expression "*(int *)(iVar29 + 8)" * (cast_expression "(int *)(iVar29 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 8)" ( (binary_expression "iVar29 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar29 + 4);" (assignment_expression "uVar16 = *(undefined4 *)(iVar29 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar29 + 4)" * (cast_expression "(undefined4 *)(iVar29 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar36 = FUN_0001a520();" (assignment_expression "uVar36 = FUN_0001a520()" identifier = (call_expression "FUN_0001a520()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);" (assignment_expression "uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16)" identifier = (call_expression "FUN_00038ad0(iVar5,uVar36,uVar16)" identifier (argument_list "(iVar5,uVar36,uVar16)" ( identifier , identifier , identifier )))) ;) (expression_statement "piVar28[4] = uVar17;" (assignment_expression "piVar28[4] = uVar17" (subscript_expression "piVar28[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] = uVar24;" (assignment_expression "local_9c[0] = uVar24" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_000312d0(local_9c,uVar6);" (call_expression "FUN_000312d0(local_9c,uVar6)" identifier (argument_list "(local_9c,uVar6)" ( 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_000312d0(local_9c,uVar6);" (call_expression "FUN_000312d0(local_9c,uVar6)" identifier (argument_list "(local_9c,uVar6)" ( identifier , identifier ))) ;) (expression_statement "piVar28 = (int *)*piVar28;" (assignment_expression "piVar28 = (int *)*piVar28" identifier = (cast_expression "(int *)*piVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar28" * identifier))) ;) }) while (parenthesized_expression "(piVar28 != (int *)0x0)" ( (binary_expression "piVar28 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (uVar6 == 0) goto LAB_0001caf4;" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001caf4;" goto statement_identifier ;)) }) (else_clause "else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }" else (compound_statement "{\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);" do (compound_statement "{\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    }" { (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024df0(0xff);" (call_expression "FUN_00024df0(0xff)" identifier (argument_list "(0xff)" ( number_literal ))) ;) }) while (parenthesized_expression "(uVar6 != uVar24)" ( (binary_expression "uVar6 != uVar24" identifier != identifier) )) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);" do (compound_statement "{\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    }" { (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(uVar6 != uVar24)" ( (binary_expression "uVar6 != uVar24" identifier != identifier) )) ;) (if_statement "if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;" if (parenthesized_expression "(DAT_0007775c != (int *)0x0)" ( (binary_expression "DAT_0007775c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001c9b0;" goto statement_identifier ;)) }))) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);" do (compound_statement "{\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  }" { (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(uVar6 != uVar24)" ( (binary_expression "uVar6 != uVar24" identifier != identifier) )) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);" do (compound_statement "{\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  }" { (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(uVar6 != uVar24)" ( (binary_expression "uVar6 != uVar24" identifier != identifier) )) ;) (labeled_statement "LAB_0001caf4:\n  uVar6 = DAT_00077734;" statement_identifier : (expression_statement "uVar6 = DAT_00077734;" (assignment_expression "uVar6 = DAT_00077734" identifier = identifier) ;)) (expression_statement "local_cc = local_9c;" (assignment_expression "local_cc = local_9c" identifier = identifier) ;) (expression_statement "uVar17 = FUN_0001a440();" (assignment_expression "uVar17 = FUN_0001a440()" identifier = (call_expression "FUN_0001a440()" identifier (argument_list "()" ( )))) ;) (expression_statement "auVar4 = local_a4;" (assignment_expression "auVar4 = local_a4" identifier = identifier) ;) (expression_statement "uVar24 = local_a8;" (assignment_expression "uVar24 = local_a8" identifier = identifier) ;) (expression_statement "iVar11 = local_b0;" (assignment_expression "iVar11 = local_b0" identifier = identifier) ;) (expression_statement "uVar16 = FUN_00024a90(2);" (assignment_expression "uVar16 = FUN_00024a90(2)" identifier = (call_expression "FUN_00024a90(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_00043d50(uVar16,2,0,2);" (call_expression "FUN_00043d50(uVar16,2,0,2)" identifier (argument_list "(uVar16,2,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_9c[0] = FUN_00036760(uVar8);" (assignment_expression "local_9c[0] = FUN_00036760(uVar8)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036760(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_000312d0(local_cc,uVar17);" (call_expression "FUN_000312d0(local_cc,uVar17)" identifier (argument_list "(local_cc,uVar17)" ( identifier , identifier ))) ;) (expression_statement "uVar25 = 2 - uVar24;" (assignment_expression "uVar25 = 2 - uVar24" identifier = (binary_expression "2 - uVar24" 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 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)\n  ;" (assignment_expression "iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)" identifier = (binary_expression "((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)" (binary_expression "((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4)" (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 < uVar24) - (int)auVar4)" ( (binary_expression "-(uint)(2 < uVar24) - (int)auVar4" (unary_expression "-(uint)(2 < uVar24)" - (call_expression "(uint)(2 < uVar24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(2 < uVar24)" ( (binary_expression "2 < uVar24" number_literal < identifier) )))) - (cast_expression "(int)auVar4" ( (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_00024df0(uVar6);" (call_expression "FUN_00024df0(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "uVar24 = uVar18 + 3;" (assignment_expression "uVar24 = uVar18 + 3" identifier = (binary_expression "uVar18 + 3" identifier + number_literal)) ;) (expression_statement "iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);" (assignment_expression "iVar29 = 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 "iVar5 = uVar6 * 2;" (assignment_expression "iVar5 = uVar6 * 2" identifier = (binary_expression "uVar6 * 2" identifier * number_literal)) ;) (expression_statement "uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);" (assignment_expression "uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0)" identifier = (call_expression "FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0)" identifier (argument_list "(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,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 "piVar28 = DAT_0007775c;" (assignment_expression "piVar28 = DAT_0007775c" identifier = identifier) ;) (if_statement "if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }" if (parenthesized_expression "(-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0))" ( (binary_expression "-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)" (unary_expression "-(int)((ulonglong)uVar36 >> 0x20)" - (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) < (cast_expression "(int)(uint)((int)uVar36 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)uVar36 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar36 != 0)" ( (binary_expression "(int)uVar36 != 0" (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))))) )) (compound_statement "{\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }" { (do_statement "do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));" do (compound_statement "{\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    }" { (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "bVar32 = 0xfffffffe < uVar24;" (assignment_expression "bVar32 = 0xfffffffe < uVar24" identifier = (binary_expression "0xfffffffe < uVar24" number_literal < identifier)) ;) (expression_statement "uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);" (assignment_expression "uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0)" identifier = (call_expression "FUN_0004cdb0(uVar24,iVar29,iVar5,0)" identifier (argument_list "(uVar24,iVar29,iVar5,0)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "iVar29 = iVar29 + (uint)bVar32;" (assignment_expression "iVar29 = iVar29 + (uint)bVar32" identifier = (binary_expression "iVar29 + (uint)bVar32" identifier + (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "piVar28 = DAT_0007775c;" (assignment_expression "piVar28 = DAT_0007775c" identifier = identifier) ;) }) while (parenthesized_expression "(-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0))" ( (binary_expression "-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)" (unary_expression "-(int)((ulonglong)uVar36 >> 0x20)" - (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) < (cast_expression "(int)(uint)((int)uVar36 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)uVar36 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar36 != 0)" ( (binary_expression "(int)uVar36 != 0" (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))))) )) ;) })) (for_statement "for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }" for ( ; (binary_expression "piVar28 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar28 = (int *)*piVar28" identifier = (cast_expression "(int *)*piVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar28" * identifier))) ) (compound_statement "{\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }" { (expression_statement "iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));" (assignment_expression "iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" identifier = (call_expression "FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" identifier (argument_list "(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" ( (subscript_expression "piVar28[1]" identifier [ number_literal ]) , number_literal , number_literal , (pointer_expression "*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80)" * (cast_expression "(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(piVar28[1] + 0x80)" * (pointer_expression "*(undefined4 **)(piVar28[1] + 0x80)" * (cast_expression "(undefined4 **)(piVar28[1] + 0x80)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar28[1] + 0x80)" ( (binary_expression "piVar28[1] + 0x80" (subscript_expression "piVar28[1]" identifier [ number_literal ]) + number_literal) ))))))) )))) ;) (expression_statement "iVar29 = piVar28[1];" (assignment_expression "iVar29 = piVar28[1]" identifier = (subscript_expression "piVar28[1]" identifier [ number_literal ])) ;) (expression_statement "piVar28[3] = iVar19;" (assignment_expression "piVar28[3] = iVar19" (subscript_expression "piVar28[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar21 = **(int **)(iVar29 + 0x80);" (assignment_expression "iVar21 = **(int **)(iVar29 + 0x80)" identifier = (pointer_expression "**(int **)(iVar29 + 0x80)" * (pointer_expression "*(int **)(iVar29 + 0x80)" * (cast_expression "(int **)(iVar29 + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x80)" ( (binary_expression "iVar29 + 0x80" identifier + number_literal) )))))) ;) (do_statement "do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);" do (compound_statement "{\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    }" { (expression_statement "iVar15 = iVar21;" (assignment_expression "iVar15 = iVar21" identifier = identifier) ;) (expression_statement "iVar21 = *(int *)(iVar15 + 8);" (assignment_expression "iVar21 = *(int *)(iVar15 + 8)" identifier = (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) ;) (expression_statement "uVar8 = *(undefined4 *)(iVar15 + 4);" (assignment_expression "uVar8 = *(undefined4 *)(iVar15 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar15 + 4)" * (cast_expression "(undefined4 *)(iVar15 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 4)" ( (binary_expression "iVar15 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar36 = FUN_0001a520();" (assignment_expression "uVar36 = FUN_0001a520()" identifier = (call_expression "FUN_0001a520()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);" (assignment_expression "iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8)" identifier = (call_expression "FUN_00038ad0(iVar29,uVar36,uVar8)" identifier (argument_list "(iVar29,uVar36,uVar8)" ( identifier , identifier , identifier )))) ;) (expression_statement "piVar28[4] = iVar29;" (assignment_expression "piVar28[4] = iVar29" (subscript_expression "piVar28[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 = iVar19;" (assignment_expression "local_b0 = iVar19" identifier = identifier) ;) (expression_statement "FUN_000312d0(&local_b0,uVar6);" (call_expression "FUN_000312d0(&local_b0,uVar6)" identifier (argument_list "(&local_b0,uVar6)" ( (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 = iVar29;" (assignment_expression "local_b0 = iVar29" identifier = identifier) ;) (expression_statement "local_ac = iVar19;" (assignment_expression "local_ac = iVar19" identifier = identifier) ;) (expression_statement "FUN_000312d0(&local_b0,uVar6);" (call_expression "FUN_000312d0(&local_b0,uVar6)" identifier (argument_list "(&local_b0,uVar6)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) })) (expression_statement "iVar5 = FUN_00024a90(iVar5);" (assignment_expression "iVar5 = FUN_00024a90(iVar5)" identifier = (call_expression "FUN_00024a90(iVar5)" identifier (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "FUN_00043d50(iVar5,0,0,uVar6);" (call_expression "FUN_00043d50(iVar5,0,0,uVar6)" identifier (argument_list "(iVar5,0,0,uVar6)" ( identifier , number_literal , number_literal , identifier ))) ;) (expression_statement "FUN_00043d50(iVar5 + uVar6,0,0,uVar6);" (call_expression "FUN_00043d50(iVar5 + uVar6,0,0,uVar6)" identifier (argument_list "(iVar5 + uVar6,0,0,uVar6)" ( (binary_expression "iVar5 + uVar6" identifier + identifier) , number_literal , number_literal , identifier ))) ;) (expression_statement "FUN_0003b370(iVar11);" (call_expression "FUN_0003b370(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;) (expression_statement "FUN_00036710(uVar9,0);" (call_expression "FUN_00036710(uVar9,0)" identifier (argument_list "(uVar9,0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*DAT_0007775c == 0) {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }" if (parenthesized_expression "(*DAT_0007775c == 0)" ( (binary_expression "*DAT_0007775c == 0" (pointer_expression "*DAT_0007775c" * identifier) == number_literal) )) (compound_statement "{\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }" { (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }" else (compound_statement "{\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }" { (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00036710(iVar10,0);" (call_expression "FUN_00036710(iVar10,0)" identifier (argument_list "(iVar10,0)" ( identifier , number_literal ))) ;) (expression_statement "uVar24 = FUN_00038b00();" (assignment_expression "uVar24 = FUN_00038b00()" identifier = (call_expression "FUN_00038b00()" identifier (argument_list "()" ( )))) ;) (if_statement "if (DAT_00077750 != 0) {\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }" if (parenthesized_expression "(DAT_00077750 != 0)" ( (binary_expression "DAT_00077750 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }" { (if_statement "if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }" if (parenthesized_expression "(*(int *)(DAT_00077754 + 0xc) != 0)" ( (binary_expression "*(int *)(DAT_00077754 + 0xc) != 0" (pointer_expression "*(int *)(DAT_00077754 + 0xc)" * (cast_expression "(int *)(DAT_00077754 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00077754 + 0xc)" ( (binary_expression "DAT_00077754 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }" { (expression_statement "pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));" (assignment_expression "pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4))" identifier = (cast_expression "(char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4))" identifier (argument_list "(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4))" ( (pointer_expression "*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4)" * (cast_expression "(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4)" ( (binary_expression "DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4" identifier + (binary_expression "*(int *)(DAT_00077754 + 0xc) * 4" (pointer_expression "*(int *)(DAT_00077754 + 0xc)" * (cast_expression "(int *)(DAT_00077754 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00077754 + 0xc)" ( (binary_expression "DAT_00077754 + 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_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a90(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_00077754 + 8));" (assignment_expression "sVar13 = strlen(*(char **)(DAT_00077754 + 8))" identifier = (call_expression "strlen(*(char **)(DAT_00077754 + 8))" identifier (argument_list "(*(char **)(DAT_00077754 + 8))" ( (pointer_expression "*(char **)(DAT_00077754 + 8)" * (cast_expression "(char **)(DAT_00077754 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00077754 + 8)" ( (binary_expression "DAT_00077754 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "pvVar14 = (void *)FUN_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a90(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);" (call_expression "memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1)" identifier (argument_list "(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1)" ( identifier , (pointer_expression "*(void **)(DAT_00077754 + 8)" * (cast_expression "(void **)(DAT_00077754 + 8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00077754 + 8)" ( (binary_expression "DAT_00077754 + 8" identifier + number_literal) )))) , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) (expression_statement "uVar6 = FUN_00038b00();" (assignment_expression "uVar6 = FUN_00038b00()" identifier = (call_expression "FUN_00038b00()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = getpwd();" (assignment_expression "uVar8 = getpwd()" identifier = (call_expression "getpwd()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar12 = (char *)FUN_00035180(uVar8);" (assignment_expression "pcVar12 = (char *)FUN_00035180(uVar8)" identifier = (cast_expression "(char *)FUN_00035180(uVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00035180(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_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a90(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 "uVar17 = FUN_00038b00();" (assignment_expression "uVar17 = FUN_00038b00()" identifier = (call_expression "FUN_00038b00()" 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      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);" do (compound_statement "{\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    }" { (expression_statement "puVar22 = puVar20;" (assignment_expression "puVar22 = puVar20" identifier = identifier) ;) (expression_statement "uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;" (assignment_expression "uVar25 = *puVar22 + 0xfefefeff & ~*puVar22" identifier = (binary_expression "*puVar22 + 0xfefefeff & ~*puVar22" (binary_expression "*puVar22 + 0xfefefeff" (pointer_expression "*puVar22" * identifier) + number_literal) & (unary_expression "~*puVar22" ~ (pointer_expression "*puVar22" * identifier)))) ;) (expression_statement "uVar18 = uVar25 & 0x80808080;" (assignment_expression "uVar18 = uVar25 & 0x80808080" identifier = (binary_expression "uVar25 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = puVar22 + 1;" (assignment_expression "puVar20 = puVar22 + 1" identifier = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) ;) (expression_statement "bVar32 = (uVar25 & 0x8080) == 0;" (assignment_expression "bVar32 = (uVar25 & 0x8080) == 0" identifier = (binary_expression "(uVar25 & 0x8080) == 0" (parenthesized_expression "(uVar25 & 0x8080)" ( (binary_expression "uVar25 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }" if (parenthesized_expression "(bVar32)" ( identifier )) (compound_statement "{\n      uVar18 = uVar18 >> 0x10;\n    }" { (expression_statement "uVar18 = uVar18 >> 0x10;" (assignment_expression "uVar18 = uVar18 >> 0x10" identifier = (binary_expression "uVar18 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }" if (parenthesized_expression "(bVar32)" ( identifier )) (compound_statement "{\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }" { (expression_statement "puVar20 = (uint *)((int)puVar22 + 6);" (assignment_expression "puVar20 = (uint *)((int)puVar22 + 6)" identifier = (cast_expression "(uint *)((int)puVar22 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + 6)" ( (binary_expression "(int)puVar22 + 6" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;" (assignment_expression "uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2" identifier = (binary_expression "(int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2" (binary_expression "(int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18))" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18))" ( (binary_expression "-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)" (unary_expression "-(int)local_cc" - (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) - (cast_expression "(uint)CARRY1((byte)uVar18,(byte)uVar18)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar18,(byte)uVar18)" identifier (argument_list "((byte)uVar18,(byte)uVar18)" ( (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) + number_literal)) ;) (expression_statement "puVar20 = (uint *)FUN_00024a90(uVar18);" (assignment_expression "puVar20 = (uint *)FUN_00024a90(uVar18)" identifier = (cast_expression "(uint *)FUN_00024a90(uVar18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a90(uVar18)" identifier (argument_list "(uVar18)" ( identifier ))))) ;) (if_statement "if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }" if (parenthesized_expression "(uVar18 < 4)" ( (binary_expression "uVar18 < 4" identifier < number_literal) )) (compound_statement "{\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }" { (if_statement "if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }" if (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 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 ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }" if (parenthesized_expression "((uVar18 & 2) != 0)" ( (binary_expression "(uVar18 & 2) != 0" (parenthesized_expression "(uVar18 & 2)" ( (binary_expression "uVar18 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }" { (expression_statement "*(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);" (assignment_expression "*(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2)" (pointer_expression "*(undefined2 *)((int)puVar20 + (uVar18 - 2))" * (cast_expression "(undefined2 *)((int)puVar20 + (uVar18 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + (uVar18 - 2))" ( (binary_expression "(int)puVar20 + (uVar18 - 2)" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar18 - 2)" ( (binary_expression "uVar18 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(local_a0 + uVar18 + 2)" * (cast_expression "(undefined2 *)(local_a0 + uVar18 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a0 + uVar18 + 2)" ( (binary_expression "local_a0 + uVar18 + 2" (binary_expression "local_a0 + uVar18" identifier + identifier) + number_literal) ))))) ;) })) })) }) (else_clause "else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }" else (compound_statement "{\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -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 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);" (assignment_expression "*(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18)" (pointer_expression "*(undefined4 *)((int)puVar20 + (uVar18 - 4))" * (cast_expression "(undefined4 *)((int)puVar20 + (uVar18 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + (uVar18 - 4))" ( (binary_expression "(int)puVar20 + (uVar18 - 4)" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar18 - 4)" ( (binary_expression "uVar18 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(local_a0 + uVar18)" * (cast_expression "(undefined4 *)(local_a0 + uVar18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a0 + uVar18)" ( (binary_expression "local_a0 + uVar18" identifier + identifier) ))))) ;) (expression_statement "iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);" (assignment_expression "iVar5 = (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 - iVar5);" (assignment_expression "puVar26 = (undefined4 *)((int)local_cc - iVar5)" identifier = (cast_expression "(undefined4 *)((int)local_cc - iVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_cc - iVar5)" ( (binary_expression "(int)local_cc - iVar5" (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);" (assignment_expression "puVar30 = (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 (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }" for ( (assignment_expression "uVar18 = iVar5 + uVar18 >> 2" identifier = (binary_expression "iVar5 + uVar18 >> 2" (binary_expression "iVar5 + uVar18" identifier + identifier) >> number_literal)) ; (binary_expression "uVar18 != 0" identifier != number_literal) ; (assignment_expression "uVar18 = uVar18 - 1" identifier = (binary_expression "uVar18 - 1" identifier - number_literal)) ) (compound_statement "{\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }" { (expression_statement "*puVar30 = *puVar26;" (assignment_expression "*puVar30 = *puVar26" (pointer_expression "*puVar30" * identifier) = (pointer_expression "*puVar26" * identifier)) ;) (expression_statement "puVar26 = puVar26 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar26 = puVar26 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar26 + (uint)bVar34 * -2 + 1" (binary_expression "puVar26 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar30 = puVar30 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar30 = puVar30 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar30 + (uint)bVar34 * -2 + 1" (binary_expression "puVar30 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }))) (expression_statement "uVar8 = FUN_0001a440();" (assignment_expression "uVar8 = FUN_0001a440()" identifier = (call_expression "FUN_0001a440()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = local_b0;" (assignment_expression "iVar5 = local_b0" identifier = identifier) ;) (expression_statement "uVar16 = FUN_00024a90(2);" (assignment_expression "uVar16 = FUN_00024a90(2)" identifier = (call_expression "FUN_00024a90(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_00043d50(uVar16,2,0,2);" (call_expression "FUN_00043d50(uVar16,2,0,2)" identifier (argument_list "(uVar16,2,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_9c[0] = FUN_00036760(uVar9);" (assignment_expression "local_9c[0] = FUN_00036760(uVar9)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036760(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_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) (expression_statement "FUN_00024df0(DAT_00077734);" (call_expression "FUN_00024df0(DAT_00077734)" identifier (argument_list "(DAT_00077734)" ( identifier ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_9c[0] = FUN_00036760(uVar7);" (assignment_expression "local_9c[0] = FUN_00036760(uVar7)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036760(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_000312d0(local_cc,4);" (call_expression "FUN_000312d0(local_cc,4)" identifier (argument_list "(local_cc,4)" ( identifier , number_literal ))) ;) (if_statement "if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }" if (parenthesized_expression "(*DAT_0007775c == 0)" ( (binary_expression "*DAT_0007775c == 0" (pointer_expression "*DAT_0007775c" * identifier) == number_literal) )) (compound_statement "{\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }" { (expression_statement "local_b0 = DAT_0007775c[3];" (assignment_expression "local_b0 = DAT_0007775c[3]" identifier = (subscript_expression "DAT_0007775c[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_000312d0(&local_b0,DAT_00077734);" (call_expression "FUN_000312d0(&local_b0,DAT_00077734)" identifier (argument_list "(&local_b0,DAT_00077734)" ( (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_0007775c[4];" (assignment_expression "local_b0 = DAT_0007775c[4]" identifier = (subscript_expression "DAT_0007775c[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_000312d0(&local_b0,DAT_00077734);" (call_expression "FUN_000312d0(&local_b0,DAT_00077734)" identifier (argument_list "(&local_b0,DAT_00077734)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) }) (else_clause "else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }" else (compound_statement "{\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }" { (expression_statement "local_9c[0] = FUN_00036760(local_ec);" (assignment_expression "local_9c[0] = FUN_00036760(local_ec)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036760(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_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(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] = uVar24;" (assignment_expression "local_9c[0] = uVar24" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(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] = uVar6;" (assignment_expression "local_9c[0] = uVar6" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(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_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) (expression_statement "uVar7 = FUN_00024a90(2);" (assignment_expression "uVar7 = FUN_00024a90(2)" identifier = (call_expression "FUN_00024a90(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_00043d50(uVar7,0x8001,0,2);" (call_expression "FUN_00043d50(uVar7,0x8001,0,2)" identifier (argument_list "(uVar7,0x8001,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "FUN_0003b370(iVar5);" (call_expression "FUN_0003b370(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);" (call_expression "FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6)" identifier (argument_list "("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6)" ( (string_literal ""../../gas/dwarf2dbg.c"" " string_content ") , number_literal , (string_literal ""out_debug_str"" " string_content ") , (binary_expression "iVar5 + uVar6" 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  uint uVar8;\n  asection *sec;\n  char *pcVar9;\n  char *pcVar10;\n  symbolS *psVar11;\n  symbolS *psVar12;\n  size_t sVar13;\n  char *pcVar14;\n  segT paVar15;\n  fragS *pfVar16;\n  uint uVar17;\n  segT paVar18;\n  segT secptr;\n  uint uVar19;\n  uint uVar20;\n  symbolS *psVar21;\n  symbolS *psVar22;\n  int iVar23;\n  expressionS *peVar24;\n  symbolS **ppsVar25;\n  int iVar26;\n  byte *pbVar27;\n  uint uVar28;\n  undefined4 *puVar29;\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  uVar8 = bfd_arch_bits_per_address(stdoutput);\n  sizeof_address = uVar8 >> 3;\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  pcVar9 = (char *)out_header(sec,&exp_1);\n  pcVar10 = frag_more(2);\n  md_number_to_chars(pcVar10,2,2);\n  psVar11 = symbol_temp_make();\n  psVar12 = symbol_temp_make();\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  psVar22 = exp_1.X_add_symbol;\n  exp_1.X_add_symbol = psVar12;\n  exp_1.X_op_symbol = psVar11;\n  emit_expr(&exp_1,(uint)pcVar9);\n  symbol_set_value_now(psVar11);\n  uVar8 = 1;\n  frag_append_1_char(ppc_dwarf2_line_min_insn_length);\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 + uVar8;\n      uVar8 = uVar8 + 1;\n      pcVar9 = remap_debug_filename(*ppcVar1);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13 + 1);\n    } while (uVar8 < dirs_in_use);\n  }\n  pcVar10 = (char *)0x1;\n  frag_append_1_char(0);\n  if (1 < files_in_use) {\n    do {\n      while (pcVar9 = files[(int)pcVar10].filename, pcVar9 != (char *)0x0) {\n        sVar13 = strlen(pcVar9);\n        pcVar14 = frag_more(sVar13 + 1);\n        memcpy(pcVar14,pcVar9,sVar13 + 1);\n        pcVar10 = pcVar10 + 1;\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        if (files_in_use <= pcVar10) goto LAB_0001c398;\n      }\n      pcVar14 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar9 = pcVar10;\n      as_bad(pcVar14);\n      files[(int)pcVar10].filename = "";\n      pcVar10 = pcVar10 + 1;\n    } while (pcVar10 < files_in_use);\n  }\nLAB_0001c398:\n  frag_append_1_char(0);\n  symbol_set_value_now(psVar12);\n  puVar5 = PTR__bfd_std_section_0006efb4;\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      pcVar9 = 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        pbVar27 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0004e3b5;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar27 < *pbVar30;\n          bVar35 = *pbVar27 == *pbVar30;\n          pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar9 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar9 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar15 = subseg_get(pcVar9,0);\n        pcVar9 = (char *)0x0;\n        subseg_set(paVar15,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      uVar8 = 0;\n      uVar28 = 0;\n      do {\n        uVar19 = (local_c4->loc).filenum;\n        if (uVar19 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar20 = (local_c4->loc).column;\n        if (uVar20 != uVar8) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar9 = (char *)0x0;\n          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);\n          pcVar10 = frag_more(uVar17);\n          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar17 = (local_c4->loc).isa;\n        if (uVar17 != uVar28) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar8 = (local_c4->loc).flags;\n        uVar28 = uVar8;\n        if (((local_100 ^ uVar8) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar28 = (local_c4->loc).flags;\n          local_100 = uVar8;\n        }\n        if ((uVar28 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar11 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar16 = symbol_get_frag(psVar11);\n        vVar37 = S_GET_VALUE(psVar11);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d2b0:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar9,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          pcVar9 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar11;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,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        uVar8 = uVar20;\n        uVar28 = uVar17;\n        local_f8 = psVar11;\n        local_e8 = uVar19;\n        local_d0 = pfVar16;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar16 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22));\n      }\n      else {\n        pcVar9 = (char *)vVar37;\n        psVar12 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar12,psVar11);\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(psVar22);\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  paVar15 = subseg_new(".debug_abbrev",0);\n  paVar18 = 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,paVar15,0x2008);\n  bfd_set_section_flags(stdoutput,paVar18,0x2008);\n  bfd_set_section_flags(stdoutput,secptr,0x1802008);\n  uVar28 = sizeof_address;\n  secptr->entsize = 1;\n  uVar28 = uVar28 * 2;\n  uVar8 = 0;\n  if (uVar28 != 0) {\n    for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {\n    }\n  }\n  if (uVar28 == 0) {\n    uVar8 = 0xffffffff;\n  }\n  record_alignment(paVar18,uVar8);\n  local_ec = (segT)all_segs->next;\n  if (local_ec == (segT)0x0) goto LAB_0001caf4;\n  local_ec = subseg_new(".debug_ranges",0);\n  bfd_set_section_flags(stdoutput,local_ec,0x2008);\n  uVar28 = sizeof_address * 2;\n  uVar8 = 0;\n  if (uVar28 != 0) {\n    for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {\n    }\n  }\n  if (uVar28 == 0) {\n    uVar8 = 0xffffffff;\n  }\n  record_alignment(local_ec,uVar8);\n  uVar8 = sizeof_address;\n  subseg_set(local_ec,0);\n  if (uVar8 == 0) {\n    if (all_segs == (line_seg *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    plVar31 = all_segs;\n    do {\n                    /* WARNING: Load size is inaccurate */\n      psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar11;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      pfVar16 = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(pfVar16,(segT)&seg->userdata);\n      psVar12 = symbol_temp_new(seg,vVar37,pfVar16);\n      plVar31->text_end = psVar12;\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,uVar8);\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 = psVar12;\n      emit_expr(&exp,uVar8);\n      plVar31 = plVar31->next;\n    } while (plVar31 != (line_seg *)0x0);\n    if (uVar8 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar28 = 0;\n    do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar8 != uVar28);\n    uVar28 = 0;\n    do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0);\n    } while (uVar8 != uVar28);\n    if (all_segs != (line_seg *)0x0) goto LAB_0001c9b0;\n  }\n  uVar28 = 0;\n  do {\n    uVar28 = uVar28 + 1;\n    frag_append_1_char(0);\n  } while (uVar8 != uVar28);\n  uVar28 = 0;\n  do {\n    uVar28 = uVar28 + 1;\n    frag_append_1_char(0);\n  } while (uVar8 != uVar28);\nLAB_0001caf4:\n  uVar8 = sizeof_address;\n  local_cc = &exp;\n  uVar19 = out_header(paVar18,&exp_1);\n  iVar7 = exp_1.X_add_number._4_4_;\n  uVar28 = (uint)exp_1.X_add_number;\n  psVar11 = exp_1.X_add_symbol;\n  pcVar9 = frag_more(2);\n  md_number_to_chars(pcVar9,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,uVar19);\n  uVar17 = 2 - uVar28;\n  uVar20 = uVar19 + uVar17;\n  iVar23 = ((int)uVar19 >> 0x1f) + (-(uint)(2 < uVar28) - iVar7) + (uint)CARRY4(uVar19,uVar17);\n  frag_append_1_char(uVar8);\n  frag_append_1_char(0);\n  uVar28 = uVar20 + 3;\n  iVar7 = iVar23 + (uint)(0xfffffffc < uVar20);\n  nchars = uVar8 * 2;\n  uVar38 = __moddi3(uVar20 + 2,iVar23 + (uint)(0xfffffffd < uVar20),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 < uVar28;\n      uVar38 = __moddi3(uVar28,iVar7,nchars,0);\n      uVar28 = uVar28 + 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    psVar12 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n    paVar18 = plVar31->seg;\n    plVar31->text_start = psVar12;\n                    /* WARNING: Load size is inaccurate */\n    iVar7 = *paVar18->userdata;\n    do {\n      iVar23 = iVar7;\n      iVar7 = *(int *)(iVar23 + 8);\n    } while (iVar7 != 0);\n    pfVar16 = *(fragS **)(iVar23 + 4);\n    vVar37 = get_frag_fix(pfVar16,(segT)&paVar18->userdata);\n    psVar21 = symbol_temp_new(paVar18,vVar37,pfVar16);\n    plVar31->text_end = psVar21;\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 = psVar12;\n    emit_expr(&exp_1,uVar8);\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 = psVar21;\n    exp_1.X_op_symbol = psVar12;\n    emit_expr(&exp_1,uVar8);\n  }\n  pcVar9 = frag_more(nchars);\n  md_number_to_chars(pcVar9,0,uVar8);\n  md_number_to_chars(pcVar9 + uVar8,0,uVar8);\n  symbol_set_value_now(psVar11);\n  uVar42 = 0;\n  paVar18 = paVar15;\n  subseg_set(paVar15,0);\n  out_uleb128(CONCAT44(uVar42,paVar18));\n  out_uleb128(CONCAT44(uVar42,paVar18));\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,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n  }\n  else {\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n  }\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  frag_append_1_char(0);\n  subseg_set(secptr,0);\n  psVar22 = symbol_temp_new_now();\n  if (files_in_use != 0) {\n    if (files[1].dir != 0) {\n      pcVar9 = remap_debug_filename(dirs[files[1].dir]);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13);\n      pcVar10[sVar13] = '/';\n    }\n    sVar13 = strlen(files[1].filename);\n    pcVar9 = frag_more(sVar13 + 1);\n    memcpy(pcVar9,files[1].filename,sVar13 + 1);\n    psVar11 = symbol_temp_new_now();\n    pcVar9 = (char *)getpwd();\n    pcVar9 = remap_debug_filename(pcVar9);\n    sVar13 = strlen(pcVar9);\n    pcVar10 = frag_more(sVar13 + 1);\n    memcpy(pcVar10,pcVar9,sVar13 + 1);\n    psVar12 = symbol_temp_new_now();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    peVar41 = local_cc;\n    do {\n      peVar24 = peVar41;\n      uVar28 = (uint)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar24->X_add_symbol;\n      uVar8 = uVar28 & 0x80808080;\n      peVar41 = (expressionS *)&peVar24->X_op_symbol;\n    } while (uVar8 == 0);\n    bVar34 = (uVar28 & 0x8080) == 0;\n    if (bVar34) {\n      uVar8 = uVar8 >> 0x10;\n    }\n    ppsVar25 = &peVar24->X_op_symbol;\n    if (bVar34) {\n      ppsVar25 = (symbolS **)((int)&peVar24->X_op_symbol + 2);\n    }\n    uVar8 = (int)ppsVar25 + (-(int)local_cc - (uint)CARRY1((byte)uVar8,(byte)uVar8)) + -2;\n    pcVar9 = frag_more(uVar8);\n    if (uVar8 < 4) {\n      if (uVar8 != 0) {\n        *pcVar9 = (char)exp.X_add_symbol;\n        if ((uVar8 & 2) != 0) {\n          *(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);\n        }\n      }\n    }\n    else {\n      *(symbolS **)pcVar9 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar9 + (uVar8 - 4)) = *(undefined4 *)((int)&exp_1 + uVar8 + 0x10);\n      iVar7 = (int)pcVar9 - (int)((uint)(pcVar9 + 4) & 0xfffffffc);\n      puVar29 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar9 + 4) & 0xfffffffc);\n      for (uVar8 = iVar7 + uVar8 >> 2; uVar8 != 0; uVar8 = uVar8 - 1) {\n        *puVar32 = *puVar29;\n        puVar29 = puVar29 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }\n    uVar19 = out_header(paVar6,&exp_1);\n    psVar21 = exp_1.X_add_symbol;\n    pcVar9 = frag_more(2);\n    md_number_to_chars(pcVar9,2,2);\n    exp.X_add_symbol = section_symbol(paVar15);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    uVar28 = uVar19;\n    emit_expr(local_cc,uVar19);\n    uVar8 = sizeof_address;\n    frag_append_1_char(sizeof_address);\n    out_uleb128(CONCAT44(uVar28,uVar8));\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,uVar19);\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 = psVar22;\n    emit_expr(local_cc,uVar19);\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,uVar19);\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 = psVar12;\n    emit_expr(local_cc,uVar19);\n    pcVar9 = frag_more(2);\n    md_number_to_chars(pcVar9,0x8001,2);\n    symbol_set_value_now(psVar21);\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  uint uVar8;\n  asection *sec;\n  char *pcVar9;\n  char *pcVar10;\n  symbolS *psVar11;\n  symbolS *psVar12;\n  size_t sVar13;\n  char *pcVar14;\n  segT paVar15;\n  fragS *pfVar16;\n  uint uVar17;\n  segT paVar18;\n  segT secptr;\n  uint uVar19;\n  uint uVar20;\n  symbolS *psVar21;\n  symbolS *psVar22;\n  int iVar23;\n  expressionS *peVar24;\n  symbolS **ppsVar25;\n  int iVar26;\n  byte *pbVar27;\n  uint uVar28;\n  undefined4 *puVar29;\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  uVar8 = bfd_arch_bits_per_address(stdoutput);\n  sizeof_address = uVar8 >> 3;\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  pcVar9 = (char *)out_header(sec,&exp_1);\n  pcVar10 = frag_more(2);\n  md_number_to_chars(pcVar10,2,2);\n  psVar11 = symbol_temp_make();\n  psVar12 = symbol_temp_make();\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  psVar22 = exp_1.X_add_symbol;\n  exp_1.X_add_symbol = psVar12;\n  exp_1.X_op_symbol = psVar11;\n  emit_expr(&exp_1,(uint)pcVar9);\n  symbol_set_value_now(psVar11);\n  uVar8 = 1;\n  frag_append_1_char(ppc_dwarf2_line_min_insn_length);\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 + uVar8;\n      uVar8 = uVar8 + 1;\n      pcVar9 = remap_debug_filename(*ppcVar1);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13 + 1);\n    } while (uVar8 < dirs_in_use);\n  }\n  pcVar10 = (char *)0x1;\n  frag_append_1_char(0);\n  if (1 < files_in_use) {\n    do {\n      while (pcVar9 = files[(int)pcVar10].filename, pcVar9 != (char *)0x0) {\n        sVar13 = strlen(pcVar9);\n        pcVar14 = frag_more(sVar13 + 1);\n        memcpy(pcVar14,pcVar9,sVar13 + 1);\n        pcVar10 = pcVar10 + 1;\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        if (files_in_use <= pcVar10) goto LAB_0001c398;\n      }\n      pcVar14 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar9 = pcVar10;\n      as_bad(pcVar14);\n      files[(int)pcVar10].filename = "";\n      pcVar10 = pcVar10 + 1;\n    } while (pcVar10 < files_in_use);\n  }\nLAB_0001c398:\n  frag_append_1_char(0);\n  symbol_set_value_now(psVar12);\n  puVar5 = PTR__bfd_std_section_0006efb4;\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      pcVar9 = 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        pbVar27 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0004e3b5;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar27 < *pbVar30;\n          bVar35 = *pbVar27 == *pbVar30;\n          pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar9 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar9 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar15 = subseg_get(pcVar9,0);\n        pcVar9 = (char *)0x0;\n        subseg_set(paVar15,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      uVar8 = 0;\n      uVar28 = 0;\n      do {\n        uVar19 = (local_c4->loc).filenum;\n        if (uVar19 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar20 = (local_c4->loc).column;\n        if (uVar20 != uVar8) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar9 = (char *)0x0;\n          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);\n          pcVar10 = frag_more(uVar17);\n          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar17 = (local_c4->loc).isa;\n        if (uVar17 != uVar28) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar8 = (local_c4->loc).flags;\n        uVar28 = uVar8;\n        if (((local_100 ^ uVar8) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar28 = (local_c4->loc).flags;\n          local_100 = uVar8;\n        }\n        if ((uVar28 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar11 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar16 = symbol_get_frag(psVar11);\n        vVar37 = S_GET_VALUE(psVar11);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d2b0:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar9,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          pcVar9 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar11;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,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        uVar8 = uVar20;\n        uVar28 = uVar17;\n        local_f8 = psVar11;\n        local_e8 = uVar19;\n        local_d0 = pfVar16;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar16 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22));\n      }\n      else {\n        pcVar9 = (char *)vVar37;\n        psVar12 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar12,psVar11);\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(psVar22);\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  paVar15 = subseg_new(".debug_abbrev",0);\n  paVar18 = 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,paVar15,0x2008);\n  bfd_set_section_flags(stdoutput,paVar18,0x2008);\n  bfd_set_section_flags(stdoutput,secptr,0x1802008);\n  uVar28 = sizeof_address;\n  secptr->entsize = 1;\n  uVar28 = uVar28 * 2;\n  uVar8 = 0;\n  if (uVar28 != 0) {\n    for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {\n    }\n  }\n  if (uVar28 == 0) {\n    uVar8 = 0xffffffff;\n  }\n  record_alignment(paVar18,uVar8);\n  local_ec = (segT)all_segs->next;\n  if (local_ec == (segT)0x0) goto LAB_0001caf4;\n  local_ec = subseg_new(".debug_ranges",0);\n  bfd_set_section_flags(stdoutput,local_ec,0x2008);\n  uVar28 = sizeof_address * 2;\n  uVar8 = 0;\n  if (uVar28 != 0) {\n    for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {\n    }\n  }\n  if (uVar28 == 0) {\n    uVar8 = 0xffffffff;\n  }\n  record_alignment(local_ec,uVar8);\n  uVar8 = sizeof_address;\n  subseg_set(local_ec,0);\n  if (uVar8 == 0) {\n    if (all_segs == (line_seg *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    plVar31 = all_segs;\n    do {\n                    /* WARNING: Load size is inaccurate */\n      psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar11;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      pfVar16 = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(pfVar16,(segT)&seg->userdata);\n      psVar12 = symbol_temp_new(seg,vVar37,pfVar16);\n      plVar31->text_end = psVar12;\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,uVar8);\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 = psVar12;\n      emit_expr(&exp,uVar8);\n      plVar31 = plVar31->next;\n    } while (plVar31 != (line_seg *)0x0);\n    if (uVar8 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar28 = 0;\n    do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar8 != uVar28);\n    uVar28 = 0;\n    do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0);\n    } while (uVar8 != uVar28);\n    if (all_segs != (line_seg *)0x0) goto LAB_0001c9b0;\n  }\n  uVar28 = 0;\n  do {\n    uVar28 = uVar28 + 1;\n    frag_append_1_char(0);\n  } while (uVar8 != uVar28);\n  uVar28 = 0;\n  do {\n    uVar28 = uVar28 + 1;\n    frag_append_1_char(0);\n  } while (uVar8 != uVar28);\nLAB_0001caf4:\n  uVar8 = sizeof_address;\n  local_cc = &exp;\n  uVar19 = out_header(paVar18,&exp_1);\n  iVar7 = exp_1.X_add_number._4_4_;\n  uVar28 = (uint)exp_1.X_add_number;\n  psVar11 = exp_1.X_add_symbol;\n  pcVar9 = frag_more(2);\n  md_number_to_chars(pcVar9,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,uVar19);\n  uVar17 = 2 - uVar28;\n  uVar20 = uVar19 + uVar17;\n  iVar23 = ((int)uVar19 >> 0x1f) + (-(uint)(2 < uVar28) - iVar7) + (uint)CARRY4(uVar19,uVar17);\n  frag_append_1_char(uVar8);\n  frag_append_1_char(0);\n  uVar28 = uVar20 + 3;\n  iVar7 = iVar23 + (uint)(0xfffffffc < uVar20);\n  nchars = uVar8 * 2;\n  uVar38 = __moddi3(uVar20 + 2,iVar23 + (uint)(0xfffffffd < uVar20),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 < uVar28;\n      uVar38 = __moddi3(uVar28,iVar7,nchars,0);\n      uVar28 = uVar28 + 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    psVar12 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n    paVar18 = plVar31->seg;\n    plVar31->text_start = psVar12;\n                    /* WARNING: Load size is inaccurate */\n    iVar7 = *paVar18->userdata;\n    do {\n      iVar23 = iVar7;\n      iVar7 = *(int *)(iVar23 + 8);\n    } while (iVar7 != 0);\n    pfVar16 = *(fragS **)(iVar23 + 4);\n    vVar37 = get_frag_fix(pfVar16,(segT)&paVar18->userdata);\n    psVar21 = symbol_temp_new(paVar18,vVar37,pfVar16);\n    plVar31->text_end = psVar21;\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 = psVar12;\n    emit_expr(&exp_1,uVar8);\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 = psVar21;\n    exp_1.X_op_symbol = psVar12;\n    emit_expr(&exp_1,uVar8);\n  }\n  pcVar9 = frag_more(nchars);\n  md_number_to_chars(pcVar9,0,uVar8);\n  md_number_to_chars(pcVar9 + uVar8,0,uVar8);\n  symbol_set_value_now(psVar11);\n  uVar42 = 0;\n  paVar18 = paVar15;\n  subseg_set(paVar15,0);\n  out_uleb128(CONCAT44(uVar42,paVar18));\n  out_uleb128(CONCAT44(uVar42,paVar18));\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,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n  }\n  else {\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n  }\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  frag_append_1_char(0);\n  subseg_set(secptr,0);\n  psVar22 = symbol_temp_new_now();\n  if (files_in_use != 0) {\n    if (files[1].dir != 0) {\n      pcVar9 = remap_debug_filename(dirs[files[1].dir]);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13);\n      pcVar10[sVar13] = '/';\n    }\n    sVar13 = strlen(files[1].filename);\n    pcVar9 = frag_more(sVar13 + 1);\n    memcpy(pcVar9,files[1].filename,sVar13 + 1);\n    psVar11 = symbol_temp_new_now();\n    pcVar9 = (char *)getpwd();\n    pcVar9 = remap_debug_filename(pcVar9);\n    sVar13 = strlen(pcVar9);\n    pcVar10 = frag_more(sVar13 + 1);\n    memcpy(pcVar10,pcVar9,sVar13 + 1);\n    psVar12 = symbol_temp_new_now();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    peVar41 = local_cc;\n    do {\n      peVar24 = peVar41;\n      uVar28 = (uint)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar24->X_add_symbol;\n      uVar8 = uVar28 & 0x80808080;\n      peVar41 = (expressionS *)&peVar24->X_op_symbol;\n    } while (uVar8 == 0);\n    bVar34 = (uVar28 & 0x8080) == 0;\n    if (bVar34) {\n      uVar8 = uVar8 >> 0x10;\n    }\n    ppsVar25 = &peVar24->X_op_symbol;\n    if (bVar34) {\n      ppsVar25 = (symbolS **)((int)&peVar24->X_op_symbol + 2);\n    }\n    uVar8 = (int)ppsVar25 + (-(int)local_cc - (uint)CARRY1((byte)uVar8,(byte)uVar8)) + -2;\n    pcVar9 = frag_more(uVar8);\n    if (uVar8 < 4) {\n      if (uVar8 != 0) {\n        *pcVar9 = (char)exp.X_add_symbol;\n        if ((uVar8 & 2) != 0) {\n          *(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);\n        }\n      }\n    }\n    else {\n      *(symbolS **)pcVar9 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar9 + (uVar8 - 4)) = *(undefined4 *)((int)&exp_1 + uVar8 + 0x10);\n      iVar7 = (int)pcVar9 - (int)((uint)(pcVar9 + 4) & 0xfffffffc);\n      puVar29 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar9 + 4) & 0xfffffffc);\n      for (uVar8 = iVar7 + uVar8 >> 2; uVar8 != 0; uVar8 = uVar8 - 1) {\n        *puVar32 = *puVar29;\n        puVar29 = puVar29 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }\n    uVar19 = out_header(paVar6,&exp_1);\n    psVar21 = exp_1.X_add_symbol;\n    pcVar9 = frag_more(2);\n    md_number_to_chars(pcVar9,2,2);\n    exp.X_add_symbol = section_symbol(paVar15);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    uVar28 = uVar19;\n    emit_expr(local_cc,uVar19);\n    uVar8 = sizeof_address;\n    frag_append_1_char(sizeof_address);\n    out_uleb128(CONCAT44(uVar28,uVar8));\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,uVar19);\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 = psVar22;\n    emit_expr(local_cc,uVar19);\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,uVar19);\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 = psVar12;\n    emit_expr(local_cc,uVar19);\n    pcVar9 = frag_more(2);\n    md_number_to_chars(pcVar9,0x8001,2);\n    symbol_set_value_now(psVar21);\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  uint uVar8;\n  asection *sec;\n  char *pcVar9;\n  char *pcVar10;\n  symbolS *psVar11;\n  symbolS *psVar12;\n  size_t sVar13;\n  char *pcVar14;\n  segT paVar15;\n  fragS *pfVar16;\n  uint uVar17;\n  segT paVar18;\n  segT secptr;\n  uint uVar19;\n  uint uVar20;\n  symbolS *psVar21;\n  symbolS *psVar22;\n  int iVar23;\n  expressionS *peVar24;\n  symbolS **ppsVar25;\n  int iVar26;\n  byte *pbVar27;\n  uint uVar28;\n  undefined4 *puVar29;\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  uVar8 = bfd_arch_bits_per_address(stdoutput);\n  sizeof_address = uVar8 >> 3;\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  pcVar9 = (char *)out_header(sec,&exp_1);\n  pcVar10 = frag_more(2);\n  md_number_to_chars(pcVar10,2,2);\n  psVar11 = symbol_temp_make();\n  psVar12 = symbol_temp_make();\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  psVar22 = exp_1.X_add_symbol;\n  exp_1.X_add_symbol = psVar12;\n  exp_1.X_op_symbol = psVar11;\n  emit_expr(&exp_1,(uint)pcVar9);\n  symbol_set_value_now(psVar11);\n  uVar8 = 1;\n  frag_append_1_char(ppc_dwarf2_line_min_insn_length);\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 + uVar8;\n      uVar8 = uVar8 + 1;\n      pcVar9 = remap_debug_filename(*ppcVar1);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13 + 1);\n    } while (uVar8 < dirs_in_use);\n  }\n  pcVar10 = (char *)0x1;\n  frag_append_1_char(0);\n  if (1 < files_in_use) {\n    do {\n      while (pcVar9 = files[(int)pcVar10].filename, pcVar9 != (char *)0x0) {\n        sVar13 = strlen(pcVar9);\n        pcVar14 = frag_more(sVar13 + 1);\n        memcpy(pcVar14,pcVar9,sVar13 + 1);\n        pcVar10 = pcVar10 + 1;\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        if (files_in_use <= pcVar10) goto LAB_0001c398;\n      }\n      pcVar14 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar9 = pcVar10;\n      as_bad(pcVar14);\n      files[(int)pcVar10].filename = "";\n      pcVar10 = pcVar10 + 1;\n    } while (pcVar10 < files_in_use);\n  }\nLAB_0001c398:\n  frag_append_1_char(0);\n  symbol_set_value_now(psVar12);\n  puVar5 = PTR__bfd_std_section_0006efb4;\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      pcVar9 = 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        pbVar27 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0004e3b5;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar27 < *pbVar30;\n          bVar35 = *pbVar27 == *pbVar30;\n          pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar9 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar9 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar15 = subseg_get(pcVar9,0);\n        pcVar9 = (char *)0x0;\n        subseg_set(paVar15,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      uVar8 = 0;\n      uVar28 = 0;\n      do {\n        uVar19 = (local_c4->loc).filenum;\n        if (uVar19 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar20 = (local_c4->loc).column;\n        if (uVar20 != uVar8) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar9 = (char *)0x0;\n          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);\n          pcVar10 = frag_more(uVar17);\n          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar17 = (local_c4->loc).isa;\n        if (uVar17 != uVar28) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar8 = (local_c4->loc).flags;\n        uVar28 = uVar8;\n        if (((local_100 ^ uVar8) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar28 = (local_c4->loc).flags;\n          local_100 = uVar8;\n        }\n        if ((uVar28 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar11 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar16 = symbol_get_frag(psVar11);\n        vVar37 = S_GET_VALUE(psVar11);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d2b0:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar9,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          pcVar9 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar11;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,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        uVar8 = uVar20;\n        uVar28 = uVar17;\n        local_f8 = psVar11;\n        local_e8 = uVar19;\n        local_d0 = pfVar16;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar16 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22));\n      }\n      else {\n        pcVar9 = (char *)vVar37;\n        psVar12 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar12,psVar11);\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(psVar22);\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  paVar15 = subseg_new(".debug_abbrev",0);\n  paVar18 = 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,paVar15,0x2008);\n  bfd_set_section_flags(stdoutput,paVar18,0x2008);\n  bfd_set_section_flags(stdoutput,secptr,0x1802008);\n  uVar28 = sizeof_address;\n  secptr->entsize = 1;\n  uVar28 = uVar28 * 2;\n  uVar8 = 0;\n  if (uVar28 != 0) {\n    for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {\n    }\n  }\n  if (uVar28 == 0) {\n    uVar8 = 0xffffffff;\n  }\n  record_alignment(paVar18,uVar8);\n  local_ec = (segT)all_segs->next;\n  if (local_ec == (segT)0x0) goto LAB_0001caf4;\n  local_ec = subseg_new(".debug_ranges",0);\n  bfd_set_section_flags(stdoutput,local_ec,0x2008);\n  uVar28 = sizeof_address * 2;\n  uVar8 = 0;\n  if (uVar28 != 0) {\n    for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {\n    }\n  }\n  if (uVar28 == 0) {\n    uVar8 = 0xffffffff;\n  }\n  record_alignment(local_ec,uVar8);\n  uVar8 = sizeof_address;\n  subseg_set(local_ec,0);\n  if (uVar8 == 0) {\n    if (all_segs == (line_seg *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    plVar31 = all_segs;\n    do {\n                    /* WARNING: Load size is inaccurate */\n      psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar11;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      pfVar16 = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(pfVar16,(segT)&seg->userdata);\n      psVar12 = symbol_temp_new(seg,vVar37,pfVar16);\n      plVar31->text_end = psVar12;\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,uVar8);\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 = psVar12;\n      emit_expr(&exp,uVar8);\n      plVar31 = plVar31->next;\n    } while (plVar31 != (line_seg *)0x0);\n    if (uVar8 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar28 = 0;\n    do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar8 != uVar28);\n    uVar28 = 0;\n    do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0);\n    } while (uVar8 != uVar28);\n    if (all_segs != (line_seg *)0x0) goto LAB_0001c9b0;\n  }\n  uVar28 = 0;\n  do {\n    uVar28 = uVar28 + 1;\n    frag_append_1_char(0);\n  } while (uVar8 != uVar28);\n  uVar28 = 0;\n  do {\n    uVar28 = uVar28 + 1;\n    frag_append_1_char(0);\n  } while (uVar8 != uVar28);\nLAB_0001caf4:\n  uVar8 = sizeof_address;\n  local_cc = &exp;\n  uVar19 = out_header(paVar18,&exp_1);\n  iVar7 = exp_1.X_add_number._4_4_;\n  uVar28 = (uint)exp_1.X_add_number;\n  psVar11 = exp_1.X_add_symbol;\n  pcVar9 = frag_more(2);\n  md_number_to_chars(pcVar9,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,uVar19);\n  uVar17 = 2 - uVar28;\n  uVar20 = uVar19 + uVar17;\n  iVar23 = ((int)uVar19 >> 0x1f) + (-(uint)(2 < uVar28) - iVar7) + (uint)CARRY4(uVar19,uVar17);\n  frag_append_1_char(uVar8);\n  frag_append_1_char(0);\n  uVar28 = uVar20 + 3;\n  iVar7 = iVar23 + (uint)(0xfffffffc < uVar20);\n  nchars = uVar8 * 2;\n  uVar38 = __moddi3(uVar20 + 2,iVar23 + (uint)(0xfffffffd < uVar20),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 < uVar28;\n      uVar38 = __moddi3(uVar28,iVar7,nchars,0);\n      uVar28 = uVar28 + 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    psVar12 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n    paVar18 = plVar31->seg;\n    plVar31->text_start = psVar12;\n                    /* WARNING: Load size is inaccurate */\n    iVar7 = *paVar18->userdata;\n    do {\n      iVar23 = iVar7;\n      iVar7 = *(int *)(iVar23 + 8);\n    } while (iVar7 != 0);\n    pfVar16 = *(fragS **)(iVar23 + 4);\n    vVar37 = get_frag_fix(pfVar16,(segT)&paVar18->userdata);\n    psVar21 = symbol_temp_new(paVar18,vVar37,pfVar16);\n    plVar31->text_end = psVar21;\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 = psVar12;\n    emit_expr(&exp_1,uVar8);\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 = psVar21;\n    exp_1.X_op_symbol = psVar12;\n    emit_expr(&exp_1,uVar8);\n  }\n  pcVar9 = frag_more(nchars);\n  md_number_to_chars(pcVar9,0,uVar8);\n  md_number_to_chars(pcVar9 + uVar8,0,uVar8);\n  symbol_set_value_now(psVar11);\n  uVar42 = 0;\n  paVar18 = paVar15;\n  subseg_set(paVar15,0);\n  out_uleb128(CONCAT44(uVar42,paVar18));\n  out_uleb128(CONCAT44(uVar42,paVar18));\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,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n  }\n  else {\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n  }\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  out_uleb128(CONCAT44(sec,psVar22));\n  frag_append_1_char(0);\n  subseg_set(secptr,0);\n  psVar22 = symbol_temp_new_now();\n  if (files_in_use != 0) {\n    if (files[1].dir != 0) {\n      pcVar9 = remap_debug_filename(dirs[files[1].dir]);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13);\n      pcVar10[sVar13] = '/';\n    }\n    sVar13 = strlen(files[1].filename);\n    pcVar9 = frag_more(sVar13 + 1);\n    memcpy(pcVar9,files[1].filename,sVar13 + 1);\n    psVar11 = symbol_temp_new_now();\n    pcVar9 = (char *)getpwd();\n    pcVar9 = remap_debug_filename(pcVar9);\n    sVar13 = strlen(pcVar9);\n    pcVar10 = frag_more(sVar13 + 1);\n    memcpy(pcVar10,pcVar9,sVar13 + 1);\n    psVar12 = symbol_temp_new_now();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    peVar41 = local_cc;\n    do {\n      peVar24 = peVar41;\n      uVar28 = (uint)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar24->X_add_symbol;\n      uVar8 = uVar28 & 0x80808080;\n      peVar41 = (expressionS *)&peVar24->X_op_symbol;\n    } while (uVar8 == 0);\n    bVar34 = (uVar28 & 0x8080) == 0;\n    if (bVar34) {\n      uVar8 = uVar8 >> 0x10;\n    }\n    ppsVar25 = &peVar24->X_op_symbol;\n    if (bVar34) {\n      ppsVar25 = (symbolS **)((int)&peVar24->X_op_symbol + 2);\n    }\n    uVar8 = (int)ppsVar25 + (-(int)local_cc - (uint)CARRY1((byte)uVar8,(byte)uVar8)) + -2;\n    pcVar9 = frag_more(uVar8);\n    if (uVar8 < 4) {\n      if (uVar8 != 0) {\n        *pcVar9 = (char)exp.X_add_symbol;\n        if ((uVar8 & 2) != 0) {\n          *(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);\n        }\n      }\n    }\n    else {\n      *(symbolS **)pcVar9 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar9 + (uVar8 - 4)) = *(undefined4 *)((int)&exp_1 + uVar8 + 0x10);\n      iVar7 = (int)pcVar9 - (int)((uint)(pcVar9 + 4) & 0xfffffffc);\n      puVar29 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar9 + 4) & 0xfffffffc);\n      for (uVar8 = iVar7 + uVar8 >> 2; uVar8 != 0; uVar8 = uVar8 - 1) {\n        *puVar32 = *puVar29;\n        puVar29 = puVar29 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }\n    uVar19 = out_header(paVar6,&exp_1);\n    psVar21 = exp_1.X_add_symbol;\n    pcVar9 = frag_more(2);\n    md_number_to_chars(pcVar9,2,2);\n    exp.X_add_symbol = section_symbol(paVar15);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    uVar28 = uVar19;\n    emit_expr(local_cc,uVar19);\n    uVar8 = sizeof_address;\n    frag_append_1_char(sizeof_address);\n    out_uleb128(CONCAT44(uVar28,uVar8));\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,uVar19);\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 = psVar22;\n    emit_expr(local_cc,uVar19);\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,uVar19);\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 = psVar12;\n    emit_expr(local_cc,uVar19);\n    pcVar9 = frag_more(2);\n    md_number_to_chars(pcVar9,0x8001,2);\n    symbol_set_value_now(psVar21);\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 "uint uVar8;" type_identifier identifier ;) (declaration "asection *sec;" type_identifier (pointer_declarator "*sec" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "symbolS *psVar11;" type_identifier (pointer_declarator "*psVar11" * identifier) ;) (declaration "symbolS *psVar12;" type_identifier (pointer_declarator "*psVar12" * identifier) ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "segT paVar15;" type_identifier identifier ;) (declaration "fragS *pfVar16;" type_identifier (pointer_declarator "*pfVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "segT paVar18;" type_identifier identifier ;) (declaration "segT secptr;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "symbolS *psVar21;" type_identifier (pointer_declarator "*psVar21" * identifier) ;) (declaration "symbolS *psVar22;" type_identifier (pointer_declarator "*psVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "expressionS *peVar24;" type_identifier (pointer_declarator "*peVar24" * identifier) ;) (declaration "symbolS **ppsVar25;" type_identifier (pointer_declarator "**ppsVar25" * (pointer_declarator "*ppsVar25" * identifier)) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "byte *pbVar27;" type_identifier (pointer_declarator "*pbVar27" * identifier) ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "undefined4 *puVar29;" type_identifier (pointer_declarator "*puVar29" * 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 "uVar8 = bfd_arch_bits_per_address(stdoutput);" (assignment_expression "uVar8 = bfd_arch_bits_per_address(stdoutput)" identifier = (call_expression "bfd_arch_bits_per_address(stdoutput)" identifier (argument_list "(stdoutput)" ( identifier )))) ;) (expression_statement "sizeof_address = uVar8 >> 3;" (assignment_expression "sizeof_address = uVar8 >> 3" identifier = (binary_expression "uVar8 >> 3" identifier >> number_literal)) ;) (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 "pcVar9 = (char *)out_header(sec,&exp_1);" (assignment_expression "pcVar9 = (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 "pcVar10 = frag_more(2);" (assignment_expression "pcVar10 = frag_more(2)" identifier = (call_expression "frag_more(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "md_number_to_chars(pcVar10,2,2);" (call_expression "md_number_to_chars(pcVar10,2,2)" identifier (argument_list "(pcVar10,2,2)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "psVar11 = symbol_temp_make();" (assignment_expression "psVar11 = symbol_temp_make()" identifier = (call_expression "symbol_temp_make()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar12 = symbol_temp_make();" (assignment_expression "psVar12 = 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 "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 "psVar22 = exp_1.X_add_symbol;" (assignment_expression "psVar22 = exp_1.X_add_symbol" identifier = (field_expression "exp_1.X_add_symbol" identifier . field_identifier)) ;) (expression_statement "exp_1.X_add_symbol = psVar12;" (assignment_expression "exp_1.X_add_symbol = psVar12" (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,(uint)pcVar9);" (call_expression "emit_expr(&exp_1,(uint)pcVar9)" identifier (argument_list "(&exp_1,(uint)pcVar9)" ( (pointer_expression "&exp_1" & identifier) , (cast_expression "(uint)pcVar9" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (expression_statement "symbol_set_value_now(psVar11);" (call_expression "symbol_set_value_now(psVar11)" identifier (argument_list "(psVar11)" ( identifier ))) ;) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (expression_statement "frag_append_1_char(ppc_dwarf2_line_min_insn_length);" (call_expression "frag_append_1_char(ppc_dwarf2_line_min_insn_length)" identifier (argument_list "(ppc_dwarf2_line_min_insn_length)" ( 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(-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 + uVar8;\n      uVar8 = uVar8 + 1;\n      pcVar9 = remap_debug_filename(*ppcVar1);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13 + 1);\n    } while (uVar8 < 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 + uVar8;\n      uVar8 = uVar8 + 1;\n      pcVar9 = remap_debug_filename(*ppcVar1);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13 + 1);\n    } while (uVar8 < dirs_in_use);\n  }" { (do_statement "do {\n      ppcVar1 = dirs + uVar8;\n      uVar8 = uVar8 + 1;\n      pcVar9 = remap_debug_filename(*ppcVar1);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13 + 1);\n    } while (uVar8 < dirs_in_use);" do (compound_statement "{\n      ppcVar1 = dirs + uVar8;\n      uVar8 = uVar8 + 1;\n      pcVar9 = remap_debug_filename(*ppcVar1);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13 + 1);\n    }" { (expression_statement "ppcVar1 = dirs + uVar8;" (assignment_expression "ppcVar1 = dirs + uVar8" identifier = (binary_expression "dirs + uVar8" identifier + identifier)) ;) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "pcVar9 = remap_debug_filename(*ppcVar1);" (assignment_expression "pcVar9 = remap_debug_filename(*ppcVar1)" identifier = (call_expression "remap_debug_filename(*ppcVar1)" identifier (argument_list "(*ppcVar1)" ( (pointer_expression "*ppcVar1" * identifier) )))) ;) (expression_statement "sVar13 = strlen(pcVar9);" (assignment_expression "sVar13 = strlen(pcVar9)" identifier = (call_expression "strlen(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier )))) ;) (expression_statement "pcVar10 = frag_more(sVar13 + 1);" (assignment_expression "pcVar10 = frag_more(sVar13 + 1)" identifier = (call_expression "frag_more(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) )))) ;) (expression_statement "memcpy(pcVar10,pcVar9,sVar13 + 1);" (call_expression "memcpy(pcVar10,pcVar9,sVar13 + 1)" identifier (argument_list "(pcVar10,pcVar9,sVar13 + 1)" ( identifier , identifier , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(uVar8 < dirs_in_use)" ( (binary_expression "uVar8 < dirs_in_use" identifier < identifier) )) ;) })) (expression_statement "pcVar10 = (char *)0x1;" (assignment_expression "pcVar10 = (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 (pcVar9 = files[(int)pcVar10].filename, pcVar9 != (char *)0x0) {\n        sVar13 = strlen(pcVar9);\n        pcVar14 = frag_more(sVar13 + 1);\n        memcpy(pcVar14,pcVar9,sVar13 + 1);\n        pcVar10 = pcVar10 + 1;\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        if (files_in_use <= pcVar10) goto LAB_0001c398;\n      }\n      pcVar14 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar9 = pcVar10;\n      as_bad(pcVar14);\n      files[(int)pcVar10].filename = "";\n      pcVar10 = pcVar10 + 1;\n    } while (pcVar10 < 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 (pcVar9 = files[(int)pcVar10].filename, pcVar9 != (char *)0x0) {\n        sVar13 = strlen(pcVar9);\n        pcVar14 = frag_more(sVar13 + 1);\n        memcpy(pcVar14,pcVar9,sVar13 + 1);\n        pcVar10 = pcVar10 + 1;\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        if (files_in_use <= pcVar10) goto LAB_0001c398;\n      }\n      pcVar14 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar9 = pcVar10;\n      as_bad(pcVar14);\n      files[(int)pcVar10].filename = "";\n      pcVar10 = pcVar10 + 1;\n    } while (pcVar10 < files_in_use);\n  }" { (do_statement "do {\n      while (pcVar9 = files[(int)pcVar10].filename, pcVar9 != (char *)0x0) {\n        sVar13 = strlen(pcVar9);\n        pcVar14 = frag_more(sVar13 + 1);\n        memcpy(pcVar14,pcVar9,sVar13 + 1);\n        pcVar10 = pcVar10 + 1;\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        if (files_in_use <= pcVar10) goto LAB_0001c398;\n      }\n      pcVar14 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar9 = pcVar10;\n      as_bad(pcVar14);\n      files[(int)pcVar10].filename = "";\n      pcVar10 = pcVar10 + 1;\n    } while (pcVar10 < files_in_use);" do (compound_statement "{\n      while (pcVar9 = files[(int)pcVar10].filename, pcVar9 != (char *)0x0) {\n        sVar13 = strlen(pcVar9);\n        pcVar14 = frag_more(sVar13 + 1);\n        memcpy(pcVar14,pcVar9,sVar13 + 1);\n        pcVar10 = pcVar10 + 1;\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        if (files_in_use <= pcVar10) goto LAB_0001c398;\n      }\n      pcVar14 = (char *)dcgettext(0,"unassigned file number %ld",5);\n      pcVar9 = pcVar10;\n      as_bad(pcVar14);\n      files[(int)pcVar10].filename = "";\n      pcVar10 = pcVar10 + 1;\n    }" { (while_statement "while (pcVar9 = files[(int)pcVar10].filename, pcVar9 != (char *)0x0) {\n        sVar13 = strlen(pcVar9);\n        pcVar14 = frag_more(sVar13 + 1);\n        memcpy(pcVar14,pcVar9,sVar13 + 1);\n        pcVar10 = pcVar10 + 1;\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        if (files_in_use <= pcVar10) goto LAB_0001c398;\n      }" while (parenthesized_expression "(pcVar9 = files[(int)pcVar10].filename, pcVar9 != (char *)0x0)" ( (comma_expression "pcVar9 = files[(int)pcVar10].filename, pcVar9 != (char *)0x0" (assignment_expression "pcVar9 = files[(int)pcVar10].filename" identifier = (field_expression "files[(int)pcVar10].filename" (subscript_expression "files[(int)pcVar10]" identifier [ (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier)) , (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n        sVar13 = strlen(pcVar9);\n        pcVar14 = frag_more(sVar13 + 1);\n        memcpy(pcVar14,pcVar9,sVar13 + 1);\n        pcVar10 = pcVar10 + 1;\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        out_uleb128(CONCAT44(pcVar9,pcVar14));\n        if (files_in_use <= pcVar10) goto LAB_0001c398;\n      }" { (expression_statement "sVar13 = strlen(pcVar9);" (assignment_expression "sVar13 = strlen(pcVar9)" identifier = (call_expression "strlen(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier )))) ;) (expression_statement "pcVar14 = frag_more(sVar13 + 1);" (assignment_expression "pcVar14 = frag_more(sVar13 + 1)" identifier = (call_expression "frag_more(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) )))) ;) (expression_statement "memcpy(pcVar14,pcVar9,sVar13 + 1);" (call_expression "memcpy(pcVar14,pcVar9,sVar13 + 1)" identifier (argument_list "(pcVar14,pcVar9,sVar13 + 1)" ( identifier , identifier , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) (expression_statement "pcVar10 = pcVar10 + 1;" (assignment_expression "pcVar10 = pcVar10 + 1" identifier = (binary_expression "pcVar10 + 1" identifier + number_literal)) ;) (expression_statement "out_uleb128(CONCAT44(pcVar9,pcVar14));" (call_expression "out_uleb128(CONCAT44(pcVar9,pcVar14))" identifier (argument_list "(CONCAT44(pcVar9,pcVar14))" ( (call_expression "CONCAT44(pcVar9,pcVar14)" identifier (argument_list "(pcVar9,pcVar14)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(pcVar9,pcVar14));" (call_expression "out_uleb128(CONCAT44(pcVar9,pcVar14))" identifier (argument_list "(CONCAT44(pcVar9,pcVar14))" ( (call_expression "CONCAT44(pcVar9,pcVar14)" identifier (argument_list "(pcVar9,pcVar14)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(pcVar9,pcVar14));" (call_expression "out_uleb128(CONCAT44(pcVar9,pcVar14))" identifier (argument_list "(CONCAT44(pcVar9,pcVar14))" ( (call_expression "CONCAT44(pcVar9,pcVar14)" identifier (argument_list "(pcVar9,pcVar14)" ( identifier , identifier ))) ))) ;) (if_statement "if (files_in_use <= pcVar10) goto LAB_0001c398;" if (parenthesized_expression "(files_in_use <= pcVar10)" ( (binary_expression "files_in_use <= pcVar10" identifier <= identifier) )) (goto_statement "goto LAB_0001c398;" goto statement_identifier ;)) })) (expression_statement "pcVar14 = (char *)dcgettext(0,"unassigned file number %ld",5);" (assignment_expression "pcVar14 = (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 "pcVar9 = pcVar10;" (assignment_expression "pcVar9 = pcVar10" identifier = identifier) ;) (expression_statement "as_bad(pcVar14);" (call_expression "as_bad(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "files[(int)pcVar10].filename = "";" (assignment_expression "files[(int)pcVar10].filename = """ (field_expression "files[(int)pcVar10].filename" (subscript_expression "files[(int)pcVar10]" identifier [ (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier) = (string_literal """" " ")) ;) (expression_statement "pcVar10 = pcVar10 + 1;" (assignment_expression "pcVar10 = pcVar10 + 1" identifier = (binary_expression "pcVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar10 < files_in_use)" ( (binary_expression "pcVar10 < files_in_use" identifier < identifier) )) ;) })) (labeled_statement "LAB_0001c398:\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(psVar12);" (call_expression "symbol_set_value_now(psVar12)" identifier (argument_list "(psVar12)" ( identifier ))) ;) (expression_statement "puVar5 = PTR__bfd_std_section_0006efb4;" (assignment_expression "puVar5 = PTR__bfd_std_section_0006efb4" 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      pcVar9 = 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        pbVar27 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0004e3b5;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar27 < *pbVar30;\n          bVar35 = *pbVar27 == *pbVar30;\n          pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar9 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar9 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar15 = subseg_get(pcVar9,0);\n        pcVar9 = (char *)0x0;\n        subseg_set(paVar15,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      uVar8 = 0;\n      uVar28 = 0;\n      do {\n        uVar19 = (local_c4->loc).filenum;\n        if (uVar19 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar20 = (local_c4->loc).column;\n        if (uVar20 != uVar8) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar9 = (char *)0x0;\n          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);\n          pcVar10 = frag_more(uVar17);\n          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar17 = (local_c4->loc).isa;\n        if (uVar17 != uVar28) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar8 = (local_c4->loc).flags;\n        uVar28 = uVar8;\n        if (((local_100 ^ uVar8) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar28 = (local_c4->loc).flags;\n          local_100 = uVar8;\n        }\n        if ((uVar28 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar11 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar16 = symbol_get_frag(psVar11);\n        vVar37 = S_GET_VALUE(psVar11);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d2b0:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar9,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          pcVar9 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar11;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,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        uVar8 = uVar20;\n        uVar28 = uVar17;\n        local_f8 = psVar11;\n        local_e8 = uVar19;\n        local_d0 = pfVar16;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar16 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22));\n      }\n      else {\n        pcVar9 = (char *)vVar37;\n        psVar12 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar12,psVar11);\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      pcVar9 = 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        pbVar27 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0004e3b5;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar27 < *pbVar30;\n          bVar35 = *pbVar27 == *pbVar30;\n          pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar9 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar9 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar15 = subseg_get(pcVar9,0);\n        pcVar9 = (char *)0x0;\n        subseg_set(paVar15,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      uVar8 = 0;\n      uVar28 = 0;\n      do {\n        uVar19 = (local_c4->loc).filenum;\n        if (uVar19 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar20 = (local_c4->loc).column;\n        if (uVar20 != uVar8) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar9 = (char *)0x0;\n          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);\n          pcVar10 = frag_more(uVar17);\n          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar17 = (local_c4->loc).isa;\n        if (uVar17 != uVar28) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar8 = (local_c4->loc).flags;\n        uVar28 = uVar8;\n        if (((local_100 ^ uVar8) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar28 = (local_c4->loc).flags;\n          local_100 = uVar8;\n        }\n        if ((uVar28 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar11 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar16 = symbol_get_frag(psVar11);\n        vVar37 = S_GET_VALUE(psVar11);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d2b0:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar9,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          pcVar9 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar11;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,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        uVar8 = uVar20;\n        uVar28 = uVar17;\n        local_f8 = psVar11;\n        local_e8 = uVar19;\n        local_d0 = pfVar16;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar16 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22));\n      }\n      else {\n        pcVar9 = (char *)vVar37;\n        psVar12 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar12,psVar11);\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      pcVar9 = 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        pbVar27 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0004e3b5;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar27 < *pbVar30;\n          bVar35 = *pbVar27 == *pbVar30;\n          pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar9 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar9 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar15 = subseg_get(pcVar9,0);\n        pcVar9 = (char *)0x0;\n        subseg_set(paVar15,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      uVar8 = 0;\n      uVar28 = 0;\n      do {\n        uVar19 = (local_c4->loc).filenum;\n        if (uVar19 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar20 = (local_c4->loc).column;\n        if (uVar20 != uVar8) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar9 = (char *)0x0;\n          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);\n          pcVar10 = frag_more(uVar17);\n          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar17 = (local_c4->loc).isa;\n        if (uVar17 != uVar28) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar8 = (local_c4->loc).flags;\n        uVar28 = uVar8;\n        if (((local_100 ^ uVar8) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar28 = (local_c4->loc).flags;\n          local_100 = uVar8;\n        }\n        if ((uVar28 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar11 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar16 = symbol_get_frag(psVar11);\n        vVar37 = S_GET_VALUE(psVar11);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d2b0:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar9,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          pcVar9 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar11;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,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        uVar8 = uVar20;\n        uVar28 = uVar17;\n        local_f8 = psVar11;\n        local_e8 = uVar19;\n        local_d0 = pfVar16;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar16 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22));\n      }\n      else {\n        pcVar9 = (char *)vVar37;\n        psVar12 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar12,psVar11);\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      pcVar9 = paVar6->name;\n      as_warn("dwarf line number information for %s ignored");\n    }" { (expression_statement "pcVar9 = paVar6->name;" (assignment_expression "pcVar9 = 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        pbVar27 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0004e3b5;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar27 < *pbVar30;\n          bVar35 = *pbVar27 == *pbVar30;\n          pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar9 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar9 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar15 = subseg_get(pcVar9,0);\n        pcVar9 = (char *)0x0;\n        subseg_set(paVar15,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      uVar8 = 0;\n      uVar28 = 0;\n      do {\n        uVar19 = (local_c4->loc).filenum;\n        if (uVar19 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar20 = (local_c4->loc).column;\n        if (uVar20 != uVar8) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar9 = (char *)0x0;\n          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);\n          pcVar10 = frag_more(uVar17);\n          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar17 = (local_c4->loc).isa;\n        if (uVar17 != uVar28) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar8 = (local_c4->loc).flags;\n        uVar28 = uVar8;\n        if (((local_100 ^ uVar8) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar28 = (local_c4->loc).flags;\n          local_100 = uVar8;\n        }\n        if ((uVar28 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar11 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar16 = symbol_get_frag(psVar11);\n        vVar37 = S_GET_VALUE(psVar11);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d2b0:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar9,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          pcVar9 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar11;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,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        uVar8 = uVar20;\n        uVar28 = uVar17;\n        local_f8 = psVar11;\n        local_e8 = uVar19;\n        local_d0 = pfVar16;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar16 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22));\n      }\n      else {\n        pcVar9 = (char *)vVar37;\n        psVar12 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar12,psVar11);\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        pbVar27 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0004e3b5;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar27 < *pbVar30;\n          bVar35 = *pbVar27 == *pbVar30;\n          pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar9 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar9 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar15 = subseg_get(pcVar9,0);\n        pcVar9 = (char *)0x0;\n        subseg_set(paVar15,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      uVar8 = 0;\n      uVar28 = 0;\n      do {\n        uVar19 = (local_c4->loc).filenum;\n        if (uVar19 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar20 = (local_c4->loc).column;\n        if (uVar20 != uVar8) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar9 = (char *)0x0;\n          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);\n          pcVar10 = frag_more(uVar17);\n          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar17 = (local_c4->loc).isa;\n        if (uVar17 != uVar28) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar8 = (local_c4->loc).flags;\n        uVar28 = uVar8;\n        if (((local_100 ^ uVar8) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar28 = (local_c4->loc).flags;\n          local_100 = uVar8;\n        }\n        if ((uVar28 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar11 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar16 = symbol_get_frag(psVar11);\n        vVar37 = S_GET_VALUE(psVar11);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d2b0:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar9,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          pcVar9 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar11;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,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        uVar8 = uVar20;\n        uVar28 = uVar17;\n        local_f8 = psVar11;\n        local_e8 = uVar19;\n        local_d0 = pfVar16;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *paVar6->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      frag = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(frag,(segT)&paVar6->userdata);\n      if ((pfVar16 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22));\n      }\n      else {\n        pcVar9 = (char *)vVar37;\n        psVar12 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar12,psVar11);\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        pbVar27 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0004e3b5;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar27 < *pbVar30;\n          bVar35 = *pbVar27 == *pbVar30;\n          pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar9 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar9 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar15 = subseg_get(pcVar9,0);\n        pcVar9 = (char *)0x0;\n        subseg_set(paVar15,0);\n      }" if (parenthesized_expression "(!bVar35)" ( (unary_expression "!bVar35" ! identifier) )) (compound_statement "{\n        iVar7 = 6;\n        pbVar27 = (byte *)paVar6->name;\n        pbVar30 = &DAT_0004e3b5;\n        do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar27 < *pbVar30;\n          bVar35 = *pbVar27 == *pbVar30;\n          pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1;\n          pbVar30 = pbVar30 + (uint)bVar36 * -2 + 1;\n        } while (bVar35);\n        pcVar9 = ".debug_line";\n        if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar9 = (char *)concat(".debug_line",paVar6->name,0);\n        }\n        paVar15 = subseg_get(pcVar9,0);\n        pcVar9 = (char *)0x0;\n        subseg_set(paVar15,0);\n      }" { (expression_statement "iVar7 = 6;" (assignment_expression "iVar7 = 6" identifier = number_literal) ;) (expression_statement "pbVar27 = (byte *)paVar6->name;" (assignment_expression "pbVar27 = (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_0004e3b5;" (assignment_expression "pbVar30 = &DAT_0004e3b5" identifier = (pointer_expression "&DAT_0004e3b5" & identifier)) ;) (do_statement "do {\n          if (iVar7 == 0) break;\n          iVar7 = iVar7 + -1;\n          bVar33 = *pbVar27 < *pbVar30;\n          bVar35 = *pbVar27 == *pbVar30;\n          pbVar27 = pbVar27 + (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 = *pbVar27 < *pbVar30;\n          bVar35 = *pbVar27 == *pbVar30;\n          pbVar27 = pbVar27 + (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 = *pbVar27 < *pbVar30;" (assignment_expression "bVar33 = *pbVar27 < *pbVar30" identifier = (binary_expression "*pbVar27 < *pbVar30" (pointer_expression "*pbVar27" * identifier) < (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "bVar35 = *pbVar27 == *pbVar30;" (assignment_expression "bVar35 = *pbVar27 == *pbVar30" identifier = (binary_expression "*pbVar27 == *pbVar30" (pointer_expression "*pbVar27" * identifier) == (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1;" (assignment_expression "pbVar27 = pbVar27 + (uint)bVar36 * -2 + 1" identifier = (binary_expression "pbVar27 + (uint)bVar36 * -2 + 1" (binary_expression "pbVar27 + (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 "pcVar9 = ".debug_line";" (assignment_expression "pcVar9 = ".debug_line"" identifier = (string_literal "".debug_line"" " string_content ")) ;) (if_statement "if ((!bVar33 && !bVar35) != bVar33) {\n          pcVar9 = (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          pcVar9 = (char *)concat(".debug_line",paVar6->name,0);\n        }" { (expression_statement "pcVar9 = (char *)concat(".debug_line",paVar6->name,0);" (assignment_expression "pcVar9 = (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 "paVar15 = subseg_get(pcVar9,0);" (assignment_expression "paVar15 = subseg_get(pcVar9,0)" identifier = (call_expression "subseg_get(pcVar9,0)" identifier (argument_list "(pcVar9,0)" ( identifier , number_literal )))) ;) (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "subseg_set(paVar15,0);" (call_expression "subseg_set(paVar15,0)" identifier (argument_list "(paVar15,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 "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar19 = (local_c4->loc).filenum;\n        if (uVar19 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar20 = (local_c4->loc).column;\n        if (uVar20 != uVar8) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar9 = (char *)0x0;\n          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);\n          pcVar10 = frag_more(uVar17);\n          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar17 = (local_c4->loc).isa;\n        if (uVar17 != uVar28) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar8 = (local_c4->loc).flags;\n        uVar28 = uVar8;\n        if (((local_100 ^ uVar8) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar28 = (local_c4->loc).flags;\n          local_100 = uVar8;\n        }\n        if ((uVar28 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar11 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar16 = symbol_get_frag(psVar11);\n        vVar37 = S_GET_VALUE(psVar11);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d2b0:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar9,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          pcVar9 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar11;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,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        uVar8 = uVar20;\n        uVar28 = uVar17;\n        local_f8 = psVar11;\n        local_e8 = uVar19;\n        local_d0 = pfVar16;\n        local_c4 = plVar4;\n      } while (plVar4 != (line_entry *)0x0);" do (compound_statement "{\n        uVar19 = (local_c4->loc).filenum;\n        if (uVar19 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar20 = (local_c4->loc).column;\n        if (uVar20 != uVar8) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar9 = (char *)0x0;\n          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);\n          pcVar10 = frag_more(uVar17);\n          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar17 = (local_c4->loc).isa;\n        if (uVar17 != uVar28) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }\n        uVar8 = (local_c4->loc).flags;\n        uVar28 = uVar8;\n        if (((local_100 ^ uVar8) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar28 = (local_c4->loc).flags;\n          local_100 = uVar8;\n        }\n        if ((uVar28 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar28 = (local_c4->loc).flags;\n        }\n        if ((uVar28 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }\n        psVar11 = local_c4->label;\n        iVar7 = (local_c4->loc).line - local_d4;\n        pfVar16 = symbol_get_frag(psVar11);\n        vVar37 = S_GET_VALUE(psVar11);\n        local_e4 = (uint)vVar37;\n        local_e0 = (int)(vVar37 >> 0x20);\n        if (local_d0 == (fragS *)0x0) {\nLAB_0001d2b0:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar9,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          pcVar9 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar11;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,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        uVar8 = uVar20;\n        uVar28 = uVar17;\n        local_f8 = psVar11;\n        local_e8 = uVar19;\n        local_d0 = pfVar16;\n        local_c4 = plVar4;\n      }" { (expression_statement "uVar19 = (local_c4->loc).filenum;" (assignment_expression "uVar19 = (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 (uVar19 != local_e8) {\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }" if (parenthesized_expression "(uVar19 != local_e8)" ( (binary_expression "uVar19 != local_e8" identifier != identifier) )) (compound_statement "{\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,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(pcVar9,uVar40));" (call_expression "out_uleb128(CONCAT44(pcVar9,uVar40))" identifier (argument_list "(CONCAT44(pcVar9,uVar40))" ( (call_expression "CONCAT44(pcVar9,uVar40)" identifier (argument_list "(pcVar9,uVar40)" ( identifier , identifier ))) ))) ;) })) (expression_statement "uVar20 = (local_c4->loc).column;" (assignment_expression "uVar20 = (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 (uVar20 != uVar8) {\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }" if (parenthesized_expression "(uVar20 != uVar8)" ( (binary_expression "uVar20 != uVar8" identifier != identifier) )) (compound_statement "{\n          uVar40 = 5;\n          frag_append_1_char(5);\n          out_uleb128(CONCAT44(pcVar9,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(pcVar9,uVar40));" (call_expression "out_uleb128(CONCAT44(pcVar9,uVar40))" identifier (argument_list "(CONCAT44(pcVar9,uVar40))" ( (call_expression "CONCAT44(pcVar9,uVar40)" identifier (argument_list "(pcVar9,uVar40)" ( identifier , identifier ))) ))) ;) })) (if_statement "if ((local_c4->loc).discriminator != 0) {\n          frag_append_1_char(0);\n          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar9 = (char *)0x0;\n          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);\n          pcVar10 = frag_more(uVar17);\n          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,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          uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);\n          pcVar9 = (char *)0x0;\n          uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);\n          pcVar10 = frag_more(uVar17);\n          output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);\n          uVar40 = 4;\n          frag_append_1_char(4);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }" { (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "uVar8 = sizeof_leb128((ulonglong)(local_c4->loc).discriminator,0);" (assignment_expression "uVar8 = 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 "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1);" (assignment_expression "uVar17 = sizeof_leb128((ulonglong)(uVar8 + 1),1)" identifier = (call_expression "sizeof_leb128((ulonglong)(uVar8 + 1),1)" identifier (argument_list "((ulonglong)(uVar8 + 1),1)" ( (call_expression "(ulonglong)(uVar8 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uVar8 + 1)" ( (binary_expression "uVar8 + 1" identifier + number_literal) ))) , number_literal )))) ;) (expression_statement "pcVar10 = frag_more(uVar17);" (assignment_expression "pcVar10 = frag_more(uVar17)" identifier = (call_expression "frag_more(uVar17)" identifier (argument_list "(uVar17)" ( identifier )))) ;) (expression_statement "output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1);" (call_expression "output_leb128(pcVar10,(ulonglong)(uVar8 + 1),1)" identifier (argument_list "(pcVar10,(ulonglong)(uVar8 + 1),1)" ( identifier , (call_expression "(ulonglong)(uVar8 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uVar8 + 1)" ( (binary_expression "uVar8 + 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(pcVar9,uVar40));" (call_expression "out_uleb128(CONCAT44(pcVar9,uVar40))" identifier (argument_list "(CONCAT44(pcVar9,uVar40))" ( (call_expression "CONCAT44(pcVar9,uVar40)" identifier (argument_list "(pcVar9,uVar40)" ( identifier , identifier ))) ))) ;) })) (expression_statement "uVar17 = (local_c4->loc).isa;" (assignment_expression "uVar17 = (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 (uVar17 != uVar28) {\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar9,uVar40));\n        }" if (parenthesized_expression "(uVar17 != uVar28)" ( (binary_expression "uVar17 != uVar28" identifier != identifier) )) (compound_statement "{\n          uVar40 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(pcVar9,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(pcVar9,uVar40));" (call_expression "out_uleb128(CONCAT44(pcVar9,uVar40))" identifier (argument_list "(CONCAT44(pcVar9,uVar40))" ( (call_expression "CONCAT44(pcVar9,uVar40)" identifier (argument_list "(pcVar9,uVar40)" ( identifier , identifier ))) ))) ;) })) (expression_statement "uVar8 = (local_c4->loc).flags;" (assignment_expression "uVar8 = (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 "uVar28 = uVar8;" (assignment_expression "uVar28 = uVar8" identifier = identifier) ;) (if_statement "if (((local_100 ^ uVar8) & 1) != 0) {\n          frag_append_1_char(6);\n          uVar28 = (local_c4->loc).flags;\n          local_100 = uVar8;\n        }" if (parenthesized_expression "(((local_100 ^ uVar8) & 1) != 0)" ( (binary_expression "((local_100 ^ uVar8) & 1) != 0" (parenthesized_expression "((local_100 ^ uVar8) & 1)" ( (binary_expression "(local_100 ^ uVar8) & 1" (parenthesized_expression "(local_100 ^ uVar8)" ( (binary_expression "local_100 ^ uVar8" identifier ^ identifier) )) & number_literal) )) != number_literal) )) (compound_statement "{\n          frag_append_1_char(6);\n          uVar28 = (local_c4->loc).flags;\n          local_100 = uVar8;\n        }" { (expression_statement "frag_append_1_char(6);" (call_expression "frag_append_1_char(6)" identifier (argument_list "(6)" ( number_literal ))) ;) (expression_statement "uVar28 = (local_c4->loc).flags;" (assignment_expression "uVar28 = (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 = uVar8;" (assignment_expression "local_100 = uVar8" identifier = identifier) ;) })) (if_statement "if ((uVar28 & 2) != 0) {\n          frag_append_1_char(7);\n          uVar28 = (local_c4->loc).flags;\n        }" if (parenthesized_expression "((uVar28 & 2) != 0)" ( (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" ( (binary_expression "uVar28 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          frag_append_1_char(7);\n          uVar28 = (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 "uVar28 = (local_c4->loc).flags;" (assignment_expression "uVar28 = (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 ((uVar28 & 4) != 0) {\n          frag_append_1_char(10);\n          uVar28 = (local_c4->loc).flags;\n        }" if (parenthesized_expression "((uVar28 & 4) != 0)" ( (binary_expression "(uVar28 & 4) != 0" (parenthesized_expression "(uVar28 & 4)" ( (binary_expression "uVar28 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          frag_append_1_char(10);\n          uVar28 = (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 "uVar28 = (local_c4->loc).flags;" (assignment_expression "uVar28 = (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 ((uVar28 & 8) != 0) {\n          frag_append_1_char(0xb);\n        }" if (parenthesized_expression "((uVar28 & 8) != 0)" ( (binary_expression "(uVar28 & 8) != 0" (parenthesized_expression "(uVar28 & 8)" ( (binary_expression "uVar28 & 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 "psVar11 = local_c4->label;" (assignment_expression "psVar11 = 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 "pfVar16 = symbol_get_frag(psVar11);" (assignment_expression "pfVar16 = symbol_get_frag(psVar11)" identifier = (call_expression "symbol_get_frag(psVar11)" identifier (argument_list "(psVar11)" ( identifier )))) ;) (expression_statement "vVar37 = S_GET_VALUE(psVar11);" (assignment_expression "vVar37 = S_GET_VALUE(psVar11)" identifier = (call_expression "S_GET_VALUE(psVar11)" identifier (argument_list "(psVar11)" ( 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_0001d2b0:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar9,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          pcVar9 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar11;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));\n        }\n        else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,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_0001d2b0:\n          uVar40 = 0;\n          frag_append_1_char(0);\n          out_uleb128(CONCAT44(pcVar9,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          pcVar9 = (char *)sizeof_address;\n          exp.X_add_symbol = psVar11;\n          emit_expr(&exp,sizeof_address);\n          out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41));\n        }" { (labeled_statement "LAB_0001d2b0:\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(pcVar9,uVar40));" (call_expression "out_uleb128(CONCAT44(pcVar9,uVar40))" identifier (argument_list "(CONCAT44(pcVar9,uVar40))" ( (call_expression "CONCAT44(pcVar9,uVar40)" identifier (argument_list "(pcVar9,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 "pcVar9 = (char *)sizeof_address;" (assignment_expression "pcVar9 = (char *)sizeof_address" identifier = (cast_expression "(char *)sizeof_address" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (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,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(pcVar9,peVar41));" (call_expression "out_inc_line_addr(iVar7,CONCAT44(pcVar9,peVar41))" identifier (argument_list "(iVar7,CONCAT44(pcVar9,peVar41))" ( identifier , (call_expression "CONCAT44(pcVar9,peVar41)" identifier (argument_list "(pcVar9,peVar41)" ( identifier , identifier ))) ))) ;) }) (else_clause "else {\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,local_f8);\n          }\n        }" else (compound_statement "{\n          if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,local_f8);\n          }\n        }" { (if_statement "if (((local_c4->loc).view == force_reset_view) && (force_reset_view != (symbolS *)0x0)) {\n            if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\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 (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }" { (if_statement "if (pfVar16 == local_d0) {\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }\n            else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;" if (parenthesized_expression "(pfVar16 == local_d0)" ( (binary_expression "pfVar16 == local_d0" identifier == identifier) )) (compound_statement "{\n              if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;\n            }" { (if_statement "if (local_e0 != local_108 || local_e4 != local_10c) goto LAB_0001c5d8;" 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_0001c5d8;" goto statement_identifier ;)) }) (else_clause "else if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;" else (if_statement "if ((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)) goto LAB_0001c5e8;" if (parenthesized_expression "((local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0))" ( (binary_expression "(local_e0 != 0 || local_e4 != 0) ||\n                    (oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 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                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0)" ( (comma_expression "oVar39 = get_frag_fix(local_d0,(segT)&paVar6->userdata),\n                    iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 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 "iVar26 = (int)((ulonglong)oVar39 >> 0x20),\n                    uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0" (assignment_expression "iVar26 = (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 "uVar8 = (uint)(local_10c < (uint)oVar39), iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0" (assignment_expression "uVar8 = (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 "iVar23 = local_108 - iVar26,\n                    (SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0" (assignment_expression "iVar23 = local_108 - iVar26" identifier = (binary_expression "local_108 - iVar26" identifier - identifier)) , (binary_expression "(SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)) !=\n                    (int)(iVar23 - uVar8) < 0" (parenthesized_expression "(SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8))" ( (binary_expression "SBORROW4(local_108,iVar26) != SBORROW4(iVar23,uVar8)" (call_expression "SBORROW4(local_108,iVar26)" identifier (argument_list "(local_108,iVar26)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar23,uVar8)" identifier (argument_list "(iVar23,uVar8)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar23 - uVar8) < 0" (cast_expression "(int)(iVar23 - uVar8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar23 - uVar8)" ( (binary_expression "iVar23 - uVar8" identifier - identifier) ))) < number_literal)))))) ))) )) (goto_statement "goto LAB_0001c5e8;" goto statement_identifier ;)))) (goto_statement "goto LAB_0001d2b0;" goto statement_identifier ;) })) (if_statement "if (pfVar16 == local_d0) {\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }\n          else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,local_f8);\n          }" if (parenthesized_expression "(pfVar16 == local_d0)" ( (binary_expression "pfVar16 == local_d0" identifier == identifier) )) (compound_statement "{\nLAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;\n            out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));\n          }" { (labeled_statement "LAB_0001c5d8:\n            if (linkrelax != 0) goto LAB_0001c5e8;" statement_identifier : (if_statement "if (linkrelax != 0) goto LAB_0001c5e8;" if (parenthesized_expression "(linkrelax != 0)" ( (binary_expression "linkrelax != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001c5e8;" goto statement_identifier ;))) (expression_statement "out_inc_line_addr(iVar7,CONCAT44(sec,psVar22));" (call_expression "out_inc_line_addr(iVar7,CONCAT44(sec,psVar22))" identifier (argument_list "(iVar7,CONCAT44(sec,psVar22))" ( identifier , (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) }) (else_clause "else {\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,local_f8);\n          }" else (compound_statement "{\nLAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,local_f8);\n          }" { (labeled_statement "LAB_0001c5e8:\n            relax_inc_line_addr(iVar7,psVar11,local_f8);" statement_identifier : (expression_statement "relax_inc_line_addr(iVar7,psVar11,local_f8);" (call_expression "relax_inc_line_addr(iVar7,psVar11,local_f8)" identifier (argument_list "(iVar7,psVar11,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 "uVar8 = uVar20;" (assignment_expression "uVar8 = uVar20" identifier = identifier) ;) (expression_statement "uVar28 = uVar17;" (assignment_expression "uVar28 = uVar17" identifier = identifier) ;) (expression_statement "local_f8 = psVar11;" (assignment_expression "local_f8 = psVar11" identifier = identifier) ;) (expression_statement "local_e8 = uVar19;" (assignment_expression "local_e8 = uVar19" identifier = identifier) ;) (expression_statement "local_d0 = pfVar16;" (assignment_expression "local_d0 = pfVar16" 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        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);" do (compound_statement "{\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      }" { (expression_statement "iVar23 = iVar7;" (assignment_expression "iVar23 = iVar7" identifier = identifier) ;) (expression_statement "iVar7 = *(int *)(iVar23 + 8);" (assignment_expression "iVar7 = *(int *)(iVar23 + 8)" identifier = (pointer_expression "*(int *)(iVar23 + 8)" * (cast_expression "(int *)(iVar23 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) (expression_statement "frag = *(fragS **)(iVar23 + 4);" (assignment_expression "frag = *(fragS **)(iVar23 + 4)" identifier = (pointer_expression "*(fragS **)(iVar23 + 4)" * (cast_expression "(fragS **)(iVar23 + 4)" ( (type_descriptor "fragS **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 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 ((pfVar16 == frag) && (linkrelax == 0)) {\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22));\n      }\n      else {\n        pcVar9 = (char *)vVar37;\n        psVar12 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar12,psVar11);\n      }" if (parenthesized_expression "((pfVar16 == frag) && (linkrelax == 0))" ( (binary_expression "(pfVar16 == frag) && (linkrelax == 0)" (parenthesized_expression "(pfVar16 == frag)" ( (binary_expression "pfVar16 == frag" identifier == identifier) )) && (parenthesized_expression "(linkrelax == 0)" ( (binary_expression "linkrelax == 0" identifier == number_literal) ))) )) (compound_statement "{\n        out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22));\n      }" { (expression_statement "out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22));" (call_expression "out_inc_line_addr(0x7fffffff,CONCAT44(sec,psVar22))" identifier (argument_list "(0x7fffffff,CONCAT44(sec,psVar22))" ( number_literal , (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) }) (else_clause "else {\n        pcVar9 = (char *)vVar37;\n        psVar12 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar12,psVar11);\n      }" else (compound_statement "{\n        pcVar9 = (char *)vVar37;\n        psVar12 = symbol_temp_new(paVar6,vVar37,frag);\n        relax_inc_line_addr(0x7fffffff,psVar12,psVar11);\n      }" { (expression_statement "pcVar9 = (char *)vVar37;" (assignment_expression "pcVar9 = (char *)vVar37" identifier = (cast_expression "(char *)vVar37" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar12 = symbol_temp_new(paVar6,vVar37,frag);" (assignment_expression "psVar12 = 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,psVar12,psVar11);" (call_expression "relax_inc_line_addr(0x7fffffff,psVar12,psVar11)" identifier (argument_list "(0x7fffffff,psVar12,psVar11)" ( 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(psVar22);" (call_expression "symbol_set_value_now(psVar22)" identifier (argument_list "(psVar22)" ( 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 "paVar15 = subseg_new(".debug_abbrev",0);" (assignment_expression "paVar15 = 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 "paVar18 = subseg_new(".debug_aranges",0);" (assignment_expression "paVar18 = 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,paVar15,0x2008);" (call_expression "bfd_set_section_flags(stdoutput,paVar15,0x2008)" identifier (argument_list "(stdoutput,paVar15,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(stdoutput,paVar18,0x2008);" (call_expression "bfd_set_section_flags(stdoutput,paVar18,0x2008)" identifier (argument_list "(stdoutput,paVar18,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 "uVar28 = sizeof_address;" (assignment_expression "uVar28 = 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 "uVar28 = uVar28 * 2;" (assignment_expression "uVar28 = uVar28 * 2" identifier = (binary_expression "uVar28 * 2" identifier * number_literal)) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (uVar28 != 0) {\n    for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {\n    }\n  }" if (parenthesized_expression "(uVar28 != 0)" ( (binary_expression "uVar28 != 0" identifier != number_literal) )) (compound_statement "{\n    for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {\n    }\n  }" { (for_statement "for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {\n    }" for ( ; (binary_expression "(uVar28 >> uVar8 & 1) == 0" (parenthesized_expression "(uVar28 >> uVar8 & 1)" ( (binary_expression "uVar28 >> uVar8 & 1" (binary_expression "uVar28 >> uVar8" identifier >> identifier) & number_literal) )) == number_literal) ; (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ) (compound_statement "{\n    }" { })) })) (if_statement "if (uVar28 == 0) {\n    uVar8 = 0xffffffff;\n  }" if (parenthesized_expression "(uVar28 == 0)" ( (binary_expression "uVar28 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar8 = 0xffffffff;\n  }" { (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" identifier = number_literal) ;) })) (expression_statement "record_alignment(paVar18,uVar8);" (call_expression "record_alignment(paVar18,uVar8)" identifier (argument_list "(paVar18,uVar8)" ( 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_0001caf4;" 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_0001caf4;" 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 "uVar28 = sizeof_address * 2;" (assignment_expression "uVar28 = sizeof_address * 2" identifier = (binary_expression "sizeof_address * 2" identifier * number_literal)) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (uVar28 != 0) {\n    for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {\n    }\n  }" if (parenthesized_expression "(uVar28 != 0)" ( (binary_expression "uVar28 != 0" identifier != number_literal) )) (compound_statement "{\n    for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {\n    }\n  }" { (for_statement "for (; (uVar28 >> uVar8 & 1) == 0; uVar8 = uVar8 + 1) {\n    }" for ( ; (binary_expression "(uVar28 >> uVar8 & 1) == 0" (parenthesized_expression "(uVar28 >> uVar8 & 1)" ( (binary_expression "uVar28 >> uVar8 & 1" (binary_expression "uVar28 >> uVar8" identifier >> identifier) & number_literal) )) == number_literal) ; (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ) (compound_statement "{\n    }" { })) })) (if_statement "if (uVar28 == 0) {\n    uVar8 = 0xffffffff;\n  }" if (parenthesized_expression "(uVar28 == 0)" ( (binary_expression "uVar28 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar8 = 0xffffffff;\n  }" { (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" identifier = number_literal) ;) })) (expression_statement "record_alignment(local_ec,uVar8);" (call_expression "record_alignment(local_ec,uVar8)" identifier (argument_list "(local_ec,uVar8)" ( identifier , identifier ))) ;) (expression_statement "uVar8 = sizeof_address;" (assignment_expression "uVar8 = 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 (uVar8 == 0) {\n    if (all_segs == (line_seg *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    plVar31 = all_segs;\n    do {\n                    /* WARNING: Load size is inaccurate */\n      psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar11;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      pfVar16 = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(pfVar16,(segT)&seg->userdata);\n      psVar12 = symbol_temp_new(seg,vVar37,pfVar16);\n      plVar31->text_end = psVar12;\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,uVar8);\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 = psVar12;\n      emit_expr(&exp,uVar8);\n      plVar31 = plVar31->next;\n    } while (plVar31 != (line_seg *)0x0);\n    if (uVar8 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar28 = 0;\n    do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar8 != uVar28);\n    uVar28 = 0;\n    do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0);\n    } while (uVar8 != uVar28);\n    if (all_segs != (line_seg *)0x0) goto LAB_0001c9b0;\n  }" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    if (all_segs == (line_seg *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    plVar31 = all_segs;\n    do {\n                    /* WARNING: Load size is inaccurate */\n      psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar11;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      pfVar16 = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(pfVar16,(segT)&seg->userdata);\n      psVar12 = symbol_temp_new(seg,vVar37,pfVar16);\n      plVar31->text_end = psVar12;\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,uVar8);\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 = psVar12;\n      emit_expr(&exp,uVar8);\n      plVar31 = plVar31->next;\n    } while (plVar31 != (line_seg *)0x0);\n    if (uVar8 == 0) goto LAB_0001caf4;\n  }" { (if_statement "if (all_segs == (line_seg *)0x0) goto LAB_0001caf4;" 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_0001caf4;" goto statement_identifier ;)) (labeled_statement "LAB_0001c9b0:\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      psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar11;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      pfVar16 = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(pfVar16,(segT)&seg->userdata);\n      psVar12 = symbol_temp_new(seg,vVar37,pfVar16);\n      plVar31->text_end = psVar12;\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,uVar8);\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 = psVar12;\n      emit_expr(&exp,uVar8);\n      plVar31 = plVar31->next;\n    } while (plVar31 != (line_seg *)0x0);" do (compound_statement "{\n                    /* WARNING: Load size is inaccurate */\n      psVar11 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n      seg = plVar31->seg;\n      plVar31->text_start = psVar11;\n                    /* WARNING: Load size is inaccurate */\n      iVar7 = *seg->userdata;\n      do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);\n      pfVar16 = *(fragS **)(iVar23 + 4);\n      vVar37 = get_frag_fix(pfVar16,(segT)&seg->userdata);\n      psVar12 = symbol_temp_new(seg,vVar37,pfVar16);\n      plVar31->text_end = psVar12;\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,uVar8);\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 = psVar12;\n      emit_expr(&exp,uVar8);\n      plVar31 = plVar31->next;\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 "seg = plVar31->seg;" (assignment_expression "seg = 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 = *seg->userdata;" (assignment_expression "iVar7 = *seg->userdata" identifier = (pointer_expression "*seg->userdata" * (field_expression "seg->userdata" identifier -> field_identifier))) ;) (do_statement "do {\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      } while (iVar7 != 0);" do (compound_statement "{\n        iVar23 = iVar7;\n        iVar7 = *(int *)(iVar23 + 8);\n      }" { (expression_statement "iVar23 = iVar7;" (assignment_expression "iVar23 = iVar7" identifier = identifier) ;) (expression_statement "iVar7 = *(int *)(iVar23 + 8);" (assignment_expression "iVar7 = *(int *)(iVar23 + 8)" identifier = (pointer_expression "*(int *)(iVar23 + 8)" * (cast_expression "(int *)(iVar23 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) (expression_statement "pfVar16 = *(fragS **)(iVar23 + 4);" (assignment_expression "pfVar16 = *(fragS **)(iVar23 + 4)" identifier = (pointer_expression "*(fragS **)(iVar23 + 4)" * (cast_expression "(fragS **)(iVar23 + 4)" ( (type_descriptor "fragS **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) ))))) ;) (expression_statement "vVar37 = get_frag_fix(pfVar16,(segT)&seg->userdata);" (assignment_expression "vVar37 = get_frag_fix(pfVar16,(segT)&seg->userdata)" identifier = (call_expression "get_frag_fix(pfVar16,(segT)&seg->userdata)" identifier (argument_list "(pfVar16,(segT)&seg->userdata)" ( identifier , (binary_expression "(segT)&seg->userdata" (parenthesized_expression "(segT)" ( identifier )) & (field_expression "seg->userdata" identifier -> field_identifier)) )))) ;) (expression_statement "psVar12 = symbol_temp_new(seg,vVar37,pfVar16);" (assignment_expression "psVar12 = symbol_temp_new(seg,vVar37,pfVar16)" identifier = (call_expression "symbol_temp_new(seg,vVar37,pfVar16)" identifier (argument_list "(seg,vVar37,pfVar16)" ( identifier , identifier , identifier )))) ;) (expression_statement "plVar31->text_end = psVar12;" (assignment_expression "plVar31->text_end = psVar12" (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 = psVar11;" (assignment_expression "exp.X_add_symbol = psVar11" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(&exp,uVar8);" (call_expression "emit_expr(&exp,uVar8)" identifier (argument_list "(&exp,uVar8)" ( (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 = psVar12;" (assignment_expression "exp.X_add_symbol = psVar12" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(&exp,uVar8);" (call_expression "emit_expr(&exp,uVar8)" identifier (argument_list "(&exp,uVar8)" ( (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 (uVar8 == 0) goto LAB_0001caf4;" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001caf4;" goto statement_identifier ;)) }) (else_clause "else {\n    uVar28 = 0;\n    do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar8 != uVar28);\n    uVar28 = 0;\n    do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0);\n    } while (uVar8 != uVar28);\n    if (all_segs != (line_seg *)0x0) goto LAB_0001c9b0;\n  }" else (compound_statement "{\n    uVar28 = 0;\n    do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar8 != uVar28);\n    uVar28 = 0;\n    do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0);\n    } while (uVar8 != uVar28);\n    if (all_segs != (line_seg *)0x0) goto LAB_0001c9b0;\n  }" { (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0xff);\n    } while (uVar8 != uVar28);" do (compound_statement "{\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0xff);\n    }" { (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 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 "(uVar8 != uVar28)" ( (binary_expression "uVar8 != uVar28" identifier != identifier) )) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0);\n    } while (uVar8 != uVar28);" do (compound_statement "{\n      uVar28 = uVar28 + 1;\n      frag_append_1_char(0);\n    }" { (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 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 "(uVar8 != uVar28)" ( (binary_expression "uVar8 != uVar28" identifier != identifier) )) ;) (if_statement "if (all_segs != (line_seg *)0x0) goto LAB_0001c9b0;" 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_0001c9b0;" goto statement_identifier ;)) }))) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar28 = uVar28 + 1;\n    frag_append_1_char(0);\n  } while (uVar8 != uVar28);" do (compound_statement "{\n    uVar28 = uVar28 + 1;\n    frag_append_1_char(0);\n  }" { (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 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 "(uVar8 != uVar28)" ( (binary_expression "uVar8 != uVar28" identifier != identifier) )) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar28 = uVar28 + 1;\n    frag_append_1_char(0);\n  } while (uVar8 != uVar28);" do (compound_statement "{\n    uVar28 = uVar28 + 1;\n    frag_append_1_char(0);\n  }" { (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 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 "(uVar8 != uVar28)" ( (binary_expression "uVar8 != uVar28" identifier != identifier) )) ;) (labeled_statement "LAB_0001caf4:\n  uVar8 = sizeof_address;" statement_identifier : (expression_statement "uVar8 = sizeof_address;" (assignment_expression "uVar8 = sizeof_address" identifier = identifier) ;)) (expression_statement "local_cc = &exp;" (assignment_expression "local_cc = &exp" identifier = (pointer_expression "&exp" & identifier)) ;) (expression_statement "uVar19 = out_header(paVar18,&exp_1);" (assignment_expression "uVar19 = out_header(paVar18,&exp_1)" identifier = (call_expression "out_header(paVar18,&exp_1)" identifier (argument_list "(paVar18,&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 "uVar28 = (uint)exp_1.X_add_number;" (assignment_expression "uVar28 = (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 "psVar11 = exp_1.X_add_symbol;" (assignment_expression "psVar11 = exp_1.X_add_symbol" identifier = (field_expression "exp_1.X_add_symbol" identifier . field_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 "md_number_to_chars(pcVar9,2,2);" (call_expression "md_number_to_chars(pcVar9,2,2)" identifier (argument_list "(pcVar9,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,uVar19);" (call_expression "emit_expr(local_cc,uVar19)" identifier (argument_list "(local_cc,uVar19)" ( identifier , identifier ))) ;) (expression_statement "uVar17 = 2 - uVar28;" (assignment_expression "uVar17 = 2 - uVar28" identifier = (binary_expression "2 - uVar28" number_literal - identifier)) ;) (expression_statement "uVar20 = uVar19 + uVar17;" (assignment_expression "uVar20 = uVar19 + uVar17" identifier = (binary_expression "uVar19 + uVar17" identifier + identifier)) ;) (expression_statement "iVar23 = ((int)uVar19 >> 0x1f) + (-(uint)(2 < uVar28) - iVar7) + (uint)CARRY4(uVar19,uVar17);" (assignment_expression "iVar23 = ((int)uVar19 >> 0x1f) + (-(uint)(2 < uVar28) - iVar7) + (uint)CARRY4(uVar19,uVar17)" identifier = (binary_expression "((int)uVar19 >> 0x1f) + (-(uint)(2 < uVar28) - iVar7) + (uint)CARRY4(uVar19,uVar17)" (binary_expression "((int)uVar19 >> 0x1f) + (-(uint)(2 < uVar28) - iVar7)" (parenthesized_expression "((int)uVar19 >> 0x1f)" ( (binary_expression "(int)uVar19 >> 0x1f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + (parenthesized_expression "(-(uint)(2 < uVar28) - iVar7)" ( (binary_expression "-(uint)(2 < uVar28) - iVar7" (unary_expression "-(uint)(2 < uVar28)" - (call_expression "(uint)(2 < uVar28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(2 < uVar28)" ( (binary_expression "2 < uVar28" number_literal < identifier) )))) - identifier) ))) + (cast_expression "(uint)CARRY4(uVar19,uVar17)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar19,uVar17)" identifier (argument_list "(uVar19,uVar17)" ( identifier , identifier )))))) ;) (expression_statement "frag_append_1_char(uVar8);" (call_expression "frag_append_1_char(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "frag_append_1_char(0);" (call_expression "frag_append_1_char(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "uVar28 = uVar20 + 3;" (assignment_expression "uVar28 = uVar20 + 3" identifier = (binary_expression "uVar20 + 3" identifier + number_literal)) ;) (expression_statement "iVar7 = iVar23 + (uint)(0xfffffffc < uVar20);" (assignment_expression "iVar7 = iVar23 + (uint)(0xfffffffc < uVar20)" identifier = (binary_expression "iVar23 + (uint)(0xfffffffc < uVar20)" identifier + (call_expression "(uint)(0xfffffffc < uVar20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffc < uVar20)" ( (binary_expression "0xfffffffc < uVar20" number_literal < identifier) ))))) ;) (expression_statement "nchars = uVar8 * 2;" (assignment_expression "nchars = uVar8 * 2" identifier = (binary_expression "uVar8 * 2" identifier * number_literal)) ;) (expression_statement "uVar38 = __moddi3(uVar20 + 2,iVar23 + (uint)(0xfffffffd < uVar20),nchars,0);" (assignment_expression "uVar38 = __moddi3(uVar20 + 2,iVar23 + (uint)(0xfffffffd < uVar20),nchars,0)" identifier = (call_expression "__moddi3(uVar20 + 2,iVar23 + (uint)(0xfffffffd < uVar20),nchars,0)" identifier (argument_list "(uVar20 + 2,iVar23 + (uint)(0xfffffffd < uVar20),nchars,0)" ( (binary_expression "uVar20 + 2" identifier + number_literal) , (binary_expression "iVar23 + (uint)(0xfffffffd < uVar20)" identifier + (call_expression "(uint)(0xfffffffd < uVar20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffd < uVar20)" ( (binary_expression "0xfffffffd < uVar20" 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 < uVar28;\n      uVar38 = __moddi3(uVar28,iVar7,nchars,0);\n      uVar28 = uVar28 + 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 < uVar28;\n      uVar38 = __moddi3(uVar28,iVar7,nchars,0);\n      uVar28 = uVar28 + 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 < uVar28;\n      uVar38 = __moddi3(uVar28,iVar7,nchars,0);\n      uVar28 = uVar28 + 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 < uVar28;\n      uVar38 = __moddi3(uVar28,iVar7,nchars,0);\n      uVar28 = uVar28 + 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 < uVar28;" (assignment_expression "bVar34 = 0xfffffffe < uVar28" identifier = (binary_expression "0xfffffffe < uVar28" number_literal < identifier)) ;) (expression_statement "uVar38 = __moddi3(uVar28,iVar7,nchars,0);" (assignment_expression "uVar38 = __moddi3(uVar28,iVar7,nchars,0)" identifier = (call_expression "__moddi3(uVar28,iVar7,nchars,0)" identifier (argument_list "(uVar28,iVar7,nchars,0)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 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    psVar12 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n    paVar18 = plVar31->seg;\n    plVar31->text_start = psVar12;\n                    /* WARNING: Load size is inaccurate */\n    iVar7 = *paVar18->userdata;\n    do {\n      iVar23 = iVar7;\n      iVar7 = *(int *)(iVar23 + 8);\n    } while (iVar7 != 0);\n    pfVar16 = *(fragS **)(iVar23 + 4);\n    vVar37 = get_frag_fix(pfVar16,(segT)&paVar18->userdata);\n    psVar21 = symbol_temp_new(paVar18,vVar37,pfVar16);\n    plVar31->text_end = psVar21;\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 = psVar12;\n    emit_expr(&exp_1,uVar8);\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 = psVar21;\n    exp_1.X_op_symbol = psVar12;\n    emit_expr(&exp_1,uVar8);\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    psVar12 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);\n    paVar18 = plVar31->seg;\n    plVar31->text_start = psVar12;\n                    /* WARNING: Load size is inaccurate */\n    iVar7 = *paVar18->userdata;\n    do {\n      iVar23 = iVar7;\n      iVar7 = *(int *)(iVar23 + 8);\n    } while (iVar7 != 0);\n    pfVar16 = *(fragS **)(iVar23 + 4);\n    vVar37 = get_frag_fix(pfVar16,(segT)&paVar18->userdata);\n    psVar21 = symbol_temp_new(paVar18,vVar37,pfVar16);\n    plVar31->text_end = psVar21;\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 = psVar12;\n    emit_expr(&exp_1,uVar8);\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 = psVar21;\n    exp_1.X_op_symbol = psVar12;\n    emit_expr(&exp_1,uVar8);\n  }" { comment (expression_statement "psVar12 = symbol_temp_new(plVar31->seg,0,(fragS *)**plVar31->seg->userdata);" (assignment_expression "psVar12 = 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 "paVar18 = plVar31->seg;" (assignment_expression "paVar18 = plVar31->seg" identifier = (field_expression "plVar31->seg" identifier -> field_identifier)) ;) (expression_statement "plVar31->text_start = psVar12;" (assignment_expression "plVar31->text_start = psVar12" (field_expression "plVar31->text_start" identifier -> field_identifier) = identifier) ;) comment (expression_statement "iVar7 = *paVar18->userdata;" (assignment_expression "iVar7 = *paVar18->userdata" identifier = (pointer_expression "*paVar18->userdata" * (field_expression "paVar18->userdata" identifier -> field_identifier))) ;) (do_statement "do {\n      iVar23 = iVar7;\n      iVar7 = *(int *)(iVar23 + 8);\n    } while (iVar7 != 0);" do (compound_statement "{\n      iVar23 = iVar7;\n      iVar7 = *(int *)(iVar23 + 8);\n    }" { (expression_statement "iVar23 = iVar7;" (assignment_expression "iVar23 = iVar7" identifier = identifier) ;) (expression_statement "iVar7 = *(int *)(iVar23 + 8);" (assignment_expression "iVar7 = *(int *)(iVar23 + 8)" identifier = (pointer_expression "*(int *)(iVar23 + 8)" * (cast_expression "(int *)(iVar23 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) (expression_statement "pfVar16 = *(fragS **)(iVar23 + 4);" (assignment_expression "pfVar16 = *(fragS **)(iVar23 + 4)" identifier = (pointer_expression "*(fragS **)(iVar23 + 4)" * (cast_expression "(fragS **)(iVar23 + 4)" ( (type_descriptor "fragS **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) ))))) ;) (expression_statement "vVar37 = get_frag_fix(pfVar16,(segT)&paVar18->userdata);" (assignment_expression "vVar37 = get_frag_fix(pfVar16,(segT)&paVar18->userdata)" identifier = (call_expression "get_frag_fix(pfVar16,(segT)&paVar18->userdata)" identifier (argument_list "(pfVar16,(segT)&paVar18->userdata)" ( identifier , (binary_expression "(segT)&paVar18->userdata" (parenthesized_expression "(segT)" ( identifier )) & (field_expression "paVar18->userdata" identifier -> field_identifier)) )))) ;) (expression_statement "psVar21 = symbol_temp_new(paVar18,vVar37,pfVar16);" (assignment_expression "psVar21 = symbol_temp_new(paVar18,vVar37,pfVar16)" identifier = (call_expression "symbol_temp_new(paVar18,vVar37,pfVar16)" identifier (argument_list "(paVar18,vVar37,pfVar16)" ( identifier , identifier , identifier )))) ;) (expression_statement "plVar31->text_end = psVar21;" (assignment_expression "plVar31->text_end = psVar21" (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 = psVar12;" (assignment_expression "exp_1.X_add_symbol = psVar12" (field_expression "exp_1.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(&exp_1,uVar8);" (call_expression "emit_expr(&exp_1,uVar8)" identifier (argument_list "(&exp_1,uVar8)" ( (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 = psVar21;" (assignment_expression "exp_1.X_add_symbol = psVar21" (field_expression "exp_1.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "exp_1.X_op_symbol = psVar12;" (assignment_expression "exp_1.X_op_symbol = psVar12" (field_expression "exp_1.X_op_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(&exp_1,uVar8);" (call_expression "emit_expr(&exp_1,uVar8)" identifier (argument_list "(&exp_1,uVar8)" ( (pointer_expression "&exp_1" & identifier) , identifier ))) ;) })) (expression_statement "pcVar9 = frag_more(nchars);" (assignment_expression "pcVar9 = frag_more(nchars)" identifier = (call_expression "frag_more(nchars)" identifier (argument_list "(nchars)" ( identifier )))) ;) (expression_statement "md_number_to_chars(pcVar9,0,uVar8);" (call_expression "md_number_to_chars(pcVar9,0,uVar8)" identifier (argument_list "(pcVar9,0,uVar8)" ( identifier , number_literal , identifier ))) ;) (expression_statement "md_number_to_chars(pcVar9 + uVar8,0,uVar8);" (call_expression "md_number_to_chars(pcVar9 + uVar8,0,uVar8)" identifier (argument_list "(pcVar9 + uVar8,0,uVar8)" ( (binary_expression "pcVar9 + uVar8" identifier + identifier) , number_literal , identifier ))) ;) (expression_statement "symbol_set_value_now(psVar11);" (call_expression "symbol_set_value_now(psVar11)" identifier (argument_list "(psVar11)" ( identifier ))) ;) (expression_statement "uVar42 = 0;" (assignment_expression "uVar42 = 0" identifier = number_literal) ;) (expression_statement "paVar18 = paVar15;" (assignment_expression "paVar18 = paVar15" identifier = identifier) ;) (expression_statement "subseg_set(paVar15,0);" (call_expression "subseg_set(paVar15,0)" identifier (argument_list "(paVar15,0)" ( identifier , number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(uVar42,paVar18));" (call_expression "out_uleb128(CONCAT44(uVar42,paVar18))" identifier (argument_list "(CONCAT44(uVar42,paVar18))" ( (call_expression "CONCAT44(uVar42,paVar18)" identifier (argument_list "(uVar42,paVar18)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(uVar42,paVar18));" (call_expression "out_uleb128(CONCAT44(uVar42,paVar18))" identifier (argument_list "(CONCAT44(uVar42,paVar18))" ( (call_expression "CONCAT44(uVar42,paVar18)" identifier (argument_list "(uVar42,paVar18)" ( 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,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n  }\n  else {\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\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,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n  }" { (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) }) (else_clause "else {\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n  }" else (compound_statement "{\n    out_uleb128(CONCAT44(sec,psVar22));\n    out_uleb128(CONCAT44(sec,psVar22));\n  }" { (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) }))) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(sec,psVar22));" (call_expression "out_uleb128(CONCAT44(sec,psVar22))" identifier (argument_list "(CONCAT44(sec,psVar22))" ( (call_expression "CONCAT44(sec,psVar22)" identifier (argument_list "(sec,psVar22)" ( 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 "psVar22 = symbol_temp_new_now();" (assignment_expression "psVar22 = 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      pcVar9 = remap_debug_filename(dirs[files[1].dir]);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13);\n      pcVar10[sVar13] = '/';\n    }\n    sVar13 = strlen(files[1].filename);\n    pcVar9 = frag_more(sVar13 + 1);\n    memcpy(pcVar9,files[1].filename,sVar13 + 1);\n    psVar11 = symbol_temp_new_now();\n    pcVar9 = (char *)getpwd();\n    pcVar9 = remap_debug_filename(pcVar9);\n    sVar13 = strlen(pcVar9);\n    pcVar10 = frag_more(sVar13 + 1);\n    memcpy(pcVar10,pcVar9,sVar13 + 1);\n    psVar12 = symbol_temp_new_now();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    peVar41 = local_cc;\n    do {\n      peVar24 = peVar41;\n      uVar28 = (uint)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar24->X_add_symbol;\n      uVar8 = uVar28 & 0x80808080;\n      peVar41 = (expressionS *)&peVar24->X_op_symbol;\n    } while (uVar8 == 0);\n    bVar34 = (uVar28 & 0x8080) == 0;\n    if (bVar34) {\n      uVar8 = uVar8 >> 0x10;\n    }\n    ppsVar25 = &peVar24->X_op_symbol;\n    if (bVar34) {\n      ppsVar25 = (symbolS **)((int)&peVar24->X_op_symbol + 2);\n    }\n    uVar8 = (int)ppsVar25 + (-(int)local_cc - (uint)CARRY1((byte)uVar8,(byte)uVar8)) + -2;\n    pcVar9 = frag_more(uVar8);\n    if (uVar8 < 4) {\n      if (uVar8 != 0) {\n        *pcVar9 = (char)exp.X_add_symbol;\n        if ((uVar8 & 2) != 0) {\n          *(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);\n        }\n      }\n    }\n    else {\n      *(symbolS **)pcVar9 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar9 + (uVar8 - 4)) = *(undefined4 *)((int)&exp_1 + uVar8 + 0x10);\n      iVar7 = (int)pcVar9 - (int)((uint)(pcVar9 + 4) & 0xfffffffc);\n      puVar29 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar9 + 4) & 0xfffffffc);\n      for (uVar8 = iVar7 + uVar8 >> 2; uVar8 != 0; uVar8 = uVar8 - 1) {\n        *puVar32 = *puVar29;\n        puVar29 = puVar29 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }\n    uVar19 = out_header(paVar6,&exp_1);\n    psVar21 = exp_1.X_add_symbol;\n    pcVar9 = frag_more(2);\n    md_number_to_chars(pcVar9,2,2);\n    exp.X_add_symbol = section_symbol(paVar15);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    uVar28 = uVar19;\n    emit_expr(local_cc,uVar19);\n    uVar8 = sizeof_address;\n    frag_append_1_char(sizeof_address);\n    out_uleb128(CONCAT44(uVar28,uVar8));\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,uVar19);\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 = psVar22;\n    emit_expr(local_cc,uVar19);\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,uVar19);\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 = psVar12;\n    emit_expr(local_cc,uVar19);\n    pcVar9 = frag_more(2);\n    md_number_to_chars(pcVar9,0x8001,2);\n    symbol_set_value_now(psVar21);\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      pcVar9 = remap_debug_filename(dirs[files[1].dir]);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13);\n      pcVar10[sVar13] = '/';\n    }\n    sVar13 = strlen(files[1].filename);\n    pcVar9 = frag_more(sVar13 + 1);\n    memcpy(pcVar9,files[1].filename,sVar13 + 1);\n    psVar11 = symbol_temp_new_now();\n    pcVar9 = (char *)getpwd();\n    pcVar9 = remap_debug_filename(pcVar9);\n    sVar13 = strlen(pcVar9);\n    pcVar10 = frag_more(sVar13 + 1);\n    memcpy(pcVar10,pcVar9,sVar13 + 1);\n    psVar12 = symbol_temp_new_now();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    peVar41 = local_cc;\n    do {\n      peVar24 = peVar41;\n      uVar28 = (uint)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar24->X_add_symbol;\n      uVar8 = uVar28 & 0x80808080;\n      peVar41 = (expressionS *)&peVar24->X_op_symbol;\n    } while (uVar8 == 0);\n    bVar34 = (uVar28 & 0x8080) == 0;\n    if (bVar34) {\n      uVar8 = uVar8 >> 0x10;\n    }\n    ppsVar25 = &peVar24->X_op_symbol;\n    if (bVar34) {\n      ppsVar25 = (symbolS **)((int)&peVar24->X_op_symbol + 2);\n    }\n    uVar8 = (int)ppsVar25 + (-(int)local_cc - (uint)CARRY1((byte)uVar8,(byte)uVar8)) + -2;\n    pcVar9 = frag_more(uVar8);\n    if (uVar8 < 4) {\n      if (uVar8 != 0) {\n        *pcVar9 = (char)exp.X_add_symbol;\n        if ((uVar8 & 2) != 0) {\n          *(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);\n        }\n      }\n    }\n    else {\n      *(symbolS **)pcVar9 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar9 + (uVar8 - 4)) = *(undefined4 *)((int)&exp_1 + uVar8 + 0x10);\n      iVar7 = (int)pcVar9 - (int)((uint)(pcVar9 + 4) & 0xfffffffc);\n      puVar29 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar9 + 4) & 0xfffffffc);\n      for (uVar8 = iVar7 + uVar8 >> 2; uVar8 != 0; uVar8 = uVar8 - 1) {\n        *puVar32 = *puVar29;\n        puVar29 = puVar29 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }\n    uVar19 = out_header(paVar6,&exp_1);\n    psVar21 = exp_1.X_add_symbol;\n    pcVar9 = frag_more(2);\n    md_number_to_chars(pcVar9,2,2);\n    exp.X_add_symbol = section_symbol(paVar15);\n    exp._16_1_ = 3;\n    exp.X_add_number._0_4_ = 0;\n    exp.X_add_number._4_4_ = 0;\n    uVar28 = uVar19;\n    emit_expr(local_cc,uVar19);\n    uVar8 = sizeof_address;\n    frag_append_1_char(sizeof_address);\n    out_uleb128(CONCAT44(uVar28,uVar8));\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,uVar19);\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 = psVar22;\n    emit_expr(local_cc,uVar19);\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,uVar19);\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 = psVar12;\n    emit_expr(local_cc,uVar19);\n    pcVar9 = frag_more(2);\n    md_number_to_chars(pcVar9,0x8001,2);\n    symbol_set_value_now(psVar21);\n    return;\n  }" { (if_statement "if (files[1].dir != 0) {\n      pcVar9 = remap_debug_filename(dirs[files[1].dir]);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13);\n      pcVar10[sVar13] = '/';\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      pcVar9 = remap_debug_filename(dirs[files[1].dir]);\n      sVar13 = strlen(pcVar9);\n      pcVar10 = frag_more(sVar13 + 1);\n      memcpy(pcVar10,pcVar9,sVar13);\n      pcVar10[sVar13] = '/';\n    }" { (expression_statement "pcVar9 = remap_debug_filename(dirs[files[1].dir]);" (assignment_expression "pcVar9 = 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 "sVar13 = strlen(pcVar9);" (assignment_expression "sVar13 = strlen(pcVar9)" identifier = (call_expression "strlen(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier )))) ;) (expression_statement "pcVar10 = frag_more(sVar13 + 1);" (assignment_expression "pcVar10 = frag_more(sVar13 + 1)" identifier = (call_expression "frag_more(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) )))) ;) (expression_statement "memcpy(pcVar10,pcVar9,sVar13);" (call_expression "memcpy(pcVar10,pcVar9,sVar13)" identifier (argument_list "(pcVar10,pcVar9,sVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar10[sVar13] = '/';" (assignment_expression "pcVar10[sVar13] = '/'" (subscript_expression "pcVar10[sVar13]" identifier [ identifier ]) = (char_literal "'/'" ' character ')) ;) })) (expression_statement "sVar13 = strlen(files[1].filename);" (assignment_expression "sVar13 = 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 "pcVar9 = frag_more(sVar13 + 1);" (assignment_expression "pcVar9 = frag_more(sVar13 + 1)" identifier = (call_expression "frag_more(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) )))) ;) (expression_statement "memcpy(pcVar9,files[1].filename,sVar13 + 1);" (call_expression "memcpy(pcVar9,files[1].filename,sVar13 + 1)" identifier (argument_list "(pcVar9,files[1].filename,sVar13 + 1)" ( identifier , (field_expression "files[1].filename" (subscript_expression "files[1]" identifier [ number_literal ]) . field_identifier) , (binary_expression "sVar13 + 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 "pcVar9 = (char *)getpwd();" (assignment_expression "pcVar9 = (char *)getpwd()" identifier = (cast_expression "(char *)getpwd()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "getpwd()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pcVar9 = remap_debug_filename(pcVar9);" (assignment_expression "pcVar9 = remap_debug_filename(pcVar9)" identifier = (call_expression "remap_debug_filename(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier )))) ;) (expression_statement "sVar13 = strlen(pcVar9);" (assignment_expression "sVar13 = strlen(pcVar9)" identifier = (call_expression "strlen(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier )))) ;) (expression_statement "pcVar10 = frag_more(sVar13 + 1);" (assignment_expression "pcVar10 = frag_more(sVar13 + 1)" identifier = (call_expression "frag_more(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) )))) ;) (expression_statement "memcpy(pcVar10,pcVar9,sVar13 + 1);" (call_expression "memcpy(pcVar10,pcVar9,sVar13 + 1)" identifier (argument_list "(pcVar10,pcVar9,sVar13 + 1)" ( identifier , identifier , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) (expression_statement "psVar12 = symbol_temp_new_now();" (assignment_expression "psVar12 = 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      peVar24 = peVar41;\n      uVar28 = (uint)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar24->X_add_symbol;\n      uVar8 = uVar28 & 0x80808080;\n      peVar41 = (expressionS *)&peVar24->X_op_symbol;\n    } while (uVar8 == 0);" do (compound_statement "{\n      peVar24 = peVar41;\n      uVar28 = (uint)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar24->X_add_symbol;\n      uVar8 = uVar28 & 0x80808080;\n      peVar41 = (expressionS *)&peVar24->X_op_symbol;\n    }" { (expression_statement "peVar24 = peVar41;" (assignment_expression "peVar24 = peVar41" identifier = identifier) ;) (expression_statement "uVar28 = (uint)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar24->X_add_symbol;" (assignment_expression "uVar28 = (uint)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar24->X_add_symbol" identifier = (binary_expression "(uint)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &\n               ~(uint)peVar24->X_add_symbol" (call_expression "(uint)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U)" ( (binary_expression "(int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U" (cast_expression "(int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name" & (field_expression "peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name" (field_expression "peVar24->X_add_symbol[-0x4f141].sy_obj" (subscript_expression "peVar24->X_add_symbol[-0x4f141]" (field_expression "peVar24->X_add_symbol" identifier -> field_identifier) [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) ))) & (unary_expression "~(uint)peVar24->X_add_symbol" ~ (cast_expression "(uint)peVar24->X_add_symbol" ( (type_descriptor "uint" type_identifier) ) (field_expression "peVar24->X_add_symbol" identifier -> field_identifier))))) ;) (expression_statement "uVar8 = uVar28 & 0x80808080;" (assignment_expression "uVar8 = uVar28 & 0x80808080" identifier = (binary_expression "uVar28 & 0x80808080" identifier & number_literal)) ;) (expression_statement "peVar41 = (expressionS *)&peVar24->X_op_symbol;" (assignment_expression "peVar41 = (expressionS *)&peVar24->X_op_symbol" identifier = (cast_expression "(expressionS *)&peVar24->X_op_symbol" ( (type_descriptor "expressionS *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&peVar24->X_op_symbol" & (field_expression "peVar24->X_op_symbol" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) ;) (expression_statement "bVar34 = (uVar28 & 0x8080) == 0;" (assignment_expression "bVar34 = (uVar28 & 0x8080) == 0" identifier = (binary_expression "(uVar28 & 0x8080) == 0" (parenthesized_expression "(uVar28 & 0x8080)" ( (binary_expression "uVar28 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar34) {\n      uVar8 = uVar8 >> 0x10;\n    }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n      uVar8 = uVar8 >> 0x10;\n    }" { (expression_statement "uVar8 = uVar8 >> 0x10;" (assignment_expression "uVar8 = uVar8 >> 0x10" identifier = (binary_expression "uVar8 >> 0x10" identifier >> number_literal)) ;) })) (expression_statement "ppsVar25 = &peVar24->X_op_symbol;" (assignment_expression "ppsVar25 = &peVar24->X_op_symbol" identifier = (pointer_expression "&peVar24->X_op_symbol" & (field_expression "peVar24->X_op_symbol" identifier -> field_identifier))) ;) (if_statement "if (bVar34) {\n      ppsVar25 = (symbolS **)((int)&peVar24->X_op_symbol + 2);\n    }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n      ppsVar25 = (symbolS **)((int)&peVar24->X_op_symbol + 2);\n    }" { (expression_statement "ppsVar25 = (symbolS **)((int)&peVar24->X_op_symbol + 2);" (assignment_expression "ppsVar25 = (symbolS **)((int)&peVar24->X_op_symbol + 2)" identifier = (cast_expression "(symbolS **)((int)&peVar24->X_op_symbol + 2)" ( (type_descriptor "symbolS **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&peVar24->X_op_symbol + 2)" ( (binary_expression "(int)&peVar24->X_op_symbol + 2" (cast_expression "(int)&peVar24->X_op_symbol" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&peVar24->X_op_symbol" & (field_expression "peVar24->X_op_symbol" identifier -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "uVar8 = (int)ppsVar25 + (-(int)local_cc - (uint)CARRY1((byte)uVar8,(byte)uVar8)) + -2;" (assignment_expression "uVar8 = (int)ppsVar25 + (-(int)local_cc - (uint)CARRY1((byte)uVar8,(byte)uVar8)) + -2" identifier = (binary_expression "(int)ppsVar25 + (-(int)local_cc - (uint)CARRY1((byte)uVar8,(byte)uVar8)) + -2" (binary_expression "(int)ppsVar25 + (-(int)local_cc - (uint)CARRY1((byte)uVar8,(byte)uVar8))" (cast_expression "(int)ppsVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(int)local_cc - (uint)CARRY1((byte)uVar8,(byte)uVar8))" ( (binary_expression "-(int)local_cc - (uint)CARRY1((byte)uVar8,(byte)uVar8)" (unary_expression "-(int)local_cc" - (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) - (cast_expression "(uint)CARRY1((byte)uVar8,(byte)uVar8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar8,(byte)uVar8)" identifier (argument_list "((byte)uVar8,(byte)uVar8)" ( (cast_expression "(byte)uVar8" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar8" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) + number_literal)) ;) (expression_statement "pcVar9 = frag_more(uVar8);" (assignment_expression "pcVar9 = frag_more(uVar8)" identifier = (call_expression "frag_more(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (if_statement "if (uVar8 < 4) {\n      if (uVar8 != 0) {\n        *pcVar9 = (char)exp.X_add_symbol;\n        if ((uVar8 & 2) != 0) {\n          *(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);\n        }\n      }\n    }\n    else {\n      *(symbolS **)pcVar9 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar9 + (uVar8 - 4)) = *(undefined4 *)((int)&exp_1 + uVar8 + 0x10);\n      iVar7 = (int)pcVar9 - (int)((uint)(pcVar9 + 4) & 0xfffffffc);\n      puVar29 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar9 + 4) & 0xfffffffc);\n      for (uVar8 = iVar7 + uVar8 >> 2; uVar8 != 0; uVar8 = uVar8 - 1) {\n        *puVar32 = *puVar29;\n        puVar29 = puVar29 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }" if (parenthesized_expression "(uVar8 < 4)" ( (binary_expression "uVar8 < 4" identifier < number_literal) )) (compound_statement "{\n      if (uVar8 != 0) {\n        *pcVar9 = (char)exp.X_add_symbol;\n        if ((uVar8 & 2) != 0) {\n          *(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);\n        }\n      }\n    }" { (if_statement "if (uVar8 != 0) {\n        *pcVar9 = (char)exp.X_add_symbol;\n        if ((uVar8 & 2) != 0) {\n          *(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);\n        }\n      }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        *pcVar9 = (char)exp.X_add_symbol;\n        if ((uVar8 & 2) != 0) {\n          *(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);\n        }\n      }" { (expression_statement "*pcVar9 = (char)exp.X_add_symbol;" (assignment_expression "*pcVar9 = (char)exp.X_add_symbol" (pointer_expression "*pcVar9" * 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 ((uVar8 & 2) != 0) {\n          *(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);\n        }" if (parenthesized_expression "((uVar8 & 2) != 0)" ( (binary_expression "(uVar8 & 2) != 0" (parenthesized_expression "(uVar8 & 2)" ( (binary_expression "uVar8 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          *(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);\n        }" { (expression_statement "*(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12);" (assignment_expression "*(undefined2 *)(pcVar9 + (uVar8 - 2)) = *(undefined2 *)((int)&exp_1 + uVar8 + 0x12)" (pointer_expression "*(undefined2 *)(pcVar9 + (uVar8 - 2))" * (cast_expression "(undefined2 *)(pcVar9 + (uVar8 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + (uVar8 - 2))" ( (binary_expression "pcVar9 + (uVar8 - 2)" identifier + (parenthesized_expression "(uVar8 - 2)" ( (binary_expression "uVar8 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)((int)&exp_1 + uVar8 + 0x12)" * (cast_expression "(undefined2 *)((int)&exp_1 + uVar8 + 0x12)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&exp_1 + uVar8 + 0x12)" ( (binary_expression "(int)&exp_1 + uVar8 + 0x12" (binary_expression "(int)&exp_1 + uVar8" (cast_expression "(int)&exp_1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&exp_1" & identifier)) + identifier) + number_literal) ))))) ;) })) })) }) (else_clause "else {\n      *(symbolS **)pcVar9 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar9 + (uVar8 - 4)) = *(undefined4 *)((int)&exp_1 + uVar8 + 0x10);\n      iVar7 = (int)pcVar9 - (int)((uint)(pcVar9 + 4) & 0xfffffffc);\n      puVar29 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar9 + 4) & 0xfffffffc);\n      for (uVar8 = iVar7 + uVar8 >> 2; uVar8 != 0; uVar8 = uVar8 - 1) {\n        *puVar32 = *puVar29;\n        puVar29 = puVar29 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }" else (compound_statement "{\n      *(symbolS **)pcVar9 = exp.X_add_symbol;\n      *(undefined4 *)(pcVar9 + (uVar8 - 4)) = *(undefined4 *)((int)&exp_1 + uVar8 + 0x10);\n      iVar7 = (int)pcVar9 - (int)((uint)(pcVar9 + 4) & 0xfffffffc);\n      puVar29 = (undefined4 *)((int)local_cc - iVar7);\n      puVar32 = (undefined4 *)((uint)(pcVar9 + 4) & 0xfffffffc);\n      for (uVar8 = iVar7 + uVar8 >> 2; uVar8 != 0; uVar8 = uVar8 - 1) {\n        *puVar32 = *puVar29;\n        puVar29 = puVar29 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }\n    }" { (expression_statement "*(symbolS **)pcVar9 = exp.X_add_symbol;" (assignment_expression "*(symbolS **)pcVar9 = exp.X_add_symbol" (pointer_expression "*(symbolS **)pcVar9" * (cast_expression "(symbolS **)pcVar9" ( (type_descriptor "symbolS **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = (field_expression "exp.X_add_symbol" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)(pcVar9 + (uVar8 - 4)) = *(undefined4 *)((int)&exp_1 + uVar8 + 0x10);" (assignment_expression "*(undefined4 *)(pcVar9 + (uVar8 - 4)) = *(undefined4 *)((int)&exp_1 + uVar8 + 0x10)" (pointer_expression "*(undefined4 *)(pcVar9 + (uVar8 - 4))" * (cast_expression "(undefined4 *)(pcVar9 + (uVar8 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + (uVar8 - 4))" ( (binary_expression "pcVar9 + (uVar8 - 4)" identifier + (parenthesized_expression "(uVar8 - 4)" ( (binary_expression "uVar8 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)((int)&exp_1 + uVar8 + 0x10)" * (cast_expression "(undefined4 *)((int)&exp_1 + uVar8 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&exp_1 + uVar8 + 0x10)" ( (binary_expression "(int)&exp_1 + uVar8 + 0x10" (binary_expression "(int)&exp_1 + uVar8" (cast_expression "(int)&exp_1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&exp_1" & identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "iVar7 = (int)pcVar9 - (int)((uint)(pcVar9 + 4) & 0xfffffffc);" (assignment_expression "iVar7 = (int)pcVar9 - (int)((uint)(pcVar9 + 4) & 0xfffffffc)" identifier = (binary_expression "(int)pcVar9 - (int)((uint)(pcVar9 + 4) & 0xfffffffc)" (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(pcVar9 + 4) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(pcVar9 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pcVar9 + 4) & 0xfffffffc" (call_expression "(uint)(pcVar9 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar9 + 4)" ( (binary_expression "pcVar9 + 4" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "puVar29 = (undefined4 *)((int)local_cc - iVar7);" (assignment_expression "puVar29 = (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)(pcVar9 + 4) & 0xfffffffc);" (assignment_expression "puVar32 = (undefined4 *)((uint)(pcVar9 + 4) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(pcVar9 + 4) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pcVar9 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pcVar9 + 4) & 0xfffffffc" (call_expression "(uint)(pcVar9 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar9 + 4)" ( (binary_expression "pcVar9 + 4" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar8 = iVar7 + uVar8 >> 2; uVar8 != 0; uVar8 = uVar8 - 1) {\n        *puVar32 = *puVar29;\n        puVar29 = puVar29 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }" for ( (assignment_expression "uVar8 = iVar7 + uVar8 >> 2" identifier = (binary_expression "iVar7 + uVar8 >> 2" (binary_expression "iVar7 + uVar8" identifier + identifier) >> number_literal)) ; (binary_expression "uVar8 != 0" identifier != number_literal) ; (assignment_expression "uVar8 = uVar8 - 1" identifier = (binary_expression "uVar8 - 1" identifier - number_literal)) ) (compound_statement "{\n        *puVar32 = *puVar29;\n        puVar29 = puVar29 + (uint)bVar36 * -2 + 1;\n        puVar32 = puVar32 + (uint)bVar36 * -2 + 1;\n      }" { (expression_statement "*puVar32 = *puVar29;" (assignment_expression "*puVar32 = *puVar29" (pointer_expression "*puVar32" * identifier) = (pointer_expression "*puVar29" * identifier)) ;) (expression_statement "puVar29 = puVar29 + (uint)bVar36 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar36 * -2 + 1" identifier = (binary_expression "puVar29 + (uint)bVar36 * -2 + 1" (binary_expression "puVar29 + (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 "uVar19 = out_header(paVar6,&exp_1);" (assignment_expression "uVar19 = 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 "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 "pcVar9 = frag_more(2);" (assignment_expression "pcVar9 = frag_more(2)" identifier = (call_expression "frag_more(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "md_number_to_chars(pcVar9,2,2);" (call_expression "md_number_to_chars(pcVar9,2,2)" identifier (argument_list "(pcVar9,2,2)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "exp.X_add_symbol = section_symbol(paVar15);" (assignment_expression "exp.X_add_symbol = section_symbol(paVar15)" (field_expression "exp.X_add_symbol" identifier . field_identifier) = (call_expression "section_symbol(paVar15)" identifier (argument_list "(paVar15)" ( 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 "uVar28 = uVar19;" (assignment_expression "uVar28 = uVar19" identifier = identifier) ;) (expression_statement "emit_expr(local_cc,uVar19);" (call_expression "emit_expr(local_cc,uVar19)" identifier (argument_list "(local_cc,uVar19)" ( identifier , identifier ))) ;) (expression_statement "uVar8 = sizeof_address;" (assignment_expression "uVar8 = 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(uVar28,uVar8));" (call_expression "out_uleb128(CONCAT44(uVar28,uVar8))" identifier (argument_list "(CONCAT44(uVar28,uVar8))" ( (call_expression "CONCAT44(uVar28,uVar8)" identifier (argument_list "(uVar28,uVar8)" ( 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,uVar19);\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,uVar19);\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,uVar19);\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,uVar19);" (call_expression "emit_expr(local_cc,uVar19)" identifier (argument_list "(local_cc,uVar19)" ( 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 = psVar22;" (assignment_expression "exp.X_add_symbol = psVar22" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(local_cc,uVar19);" (call_expression "emit_expr(local_cc,uVar19)" identifier (argument_list "(local_cc,uVar19)" ( 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,uVar19);" (call_expression "emit_expr(local_cc,uVar19)" identifier (argument_list "(local_cc,uVar19)" ( 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 = psVar12;" (assignment_expression "exp.X_add_symbol = psVar12" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "emit_expr(local_cc,uVar19);" (call_expression "emit_expr(local_cc,uVar19)" identifier (argument_list "(local_cc,uVar19)" ( identifier , 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 "md_number_to_chars(pcVar9,0x8001,2);" (call_expression "md_number_to_chars(pcVar9,0x8001,2)" identifier (argument_list "(pcVar9,0x8001,2)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "symbol_set_value_now(psVar21);" (call_expression "symbol_set_value_now(psVar21)" identifier (argument_list "(psVar21)" ( 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_0001bfd0(void)\n\n{\n  int *piVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined1 auVar4 [4];\n  int iVar5;\n  uint uVar6;\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  int iVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  uint *puVar22;\n  byte *pbVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  byte *pbVar27;\n  int *piVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  bool bVar31;\n  bool bVar32;\n  bool bVar33;\n  byte bVar34;\n  longlong lVar35;\n  undefined8 uVar36;\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  bVar34 = 0;\n  uStack_14 = 0x1bfdb;\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");\n  bVar32 = true;\n  if (iVar5 != 0) {\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");\n  if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002bdd0("duplicate .debug_line sections");\n  }\n  if ((DAT_0007775c == (int *)0x0) && (bVar32)) {\n    return;\n  }\n  uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);\n  DAT_00077734 = uVar6 >> 3;\n  uVar7 = FUN_000366b0(".debug_line",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }\n  uVar8 = FUN_0001a440();\n  iVar5 = local_b0;\n  uVar9 = FUN_00024a90(2);\n  FUN_00043d50(uVar9,2,0,2);\n  iVar10 = FUN_00038ab0();\n  iVar11 = FUN_00038ab0();\n  local_a0[0] = 0x14;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_000312d0(&local_b0,uVar8);\n  FUN_0003b370(iVar10);\n  uVar6 = 1;\n  FUN_00024df0(DAT_00078070);\n  FUN_00024df0(1);\n  FUN_00024df0(0xfffffffb);\n  FUN_00024df0(0xe);\n  FUN_00024df0(0xd);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  if (1 < DAT_00077744) {\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }\n  uVar6 = 1;\n  FUN_00024df0(0);\n  if (1 < DAT_00077750) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }\nLAB_0001c398:\n  FUN_00024df0(0);\n  FUN_0003b370(iVar11);\n  puVar3 = PTR__bfd_std_section_0006efb4;\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }\n  if (DAT_00077d94 != 0) {\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }\n  FUN_0003b370(iVar5);\n  if (!bVar32) {\n    return;\n  }\n  if (DAT_0007775c == (int *)0x0) {\n                    \n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_000366b0(".debug_info",0);\n  uVar9 = FUN_000366b0(".debug_abbrev",0);\n  uVar16 = FUN_000366b0(".debug_aranges",0);\n  iVar10 = FUN_000366b0(".debug_str",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);\n  uVar6 = DAT_00077734;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar6 = uVar6 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(uVar16,iVar5);\n  local_ec = *DAT_0007775c;\n  if (local_ec == 0) goto LAB_0001caf4;\n  local_ec = FUN_000366b0(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);\n  uVar6 = DAT_00077734 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(local_ec,iVar5);\n  uVar6 = DAT_00077734;\n  FUN_00036710(local_ec,0);\n  if (uVar6 == 0) {\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\nLAB_0001caf4:\n  uVar6 = DAT_00077734;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a440();\n  auVar4 = local_a4;\n  uVar24 = local_a8;\n  iVar11 = local_b0;\n  uVar16 = FUN_00024a90(2);\n  FUN_00043d50(uVar16,2,0,2);\n  local_9c[0] = FUN_00036760(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_000312d0(local_cc,uVar17);\n  uVar25 = 2 - uVar24;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024df0(uVar6);\n  FUN_00024df0(0);\n  uVar24 = uVar18 + 3;\n  iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar5 = uVar6 * 2;\n  uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);\n  piVar28 = DAT_0007775c;\n  if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }\n  for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }\n  iVar5 = FUN_00024a90(iVar5);\n  FUN_00043d50(iVar5,0,0,uVar6);\n  FUN_00043d50(iVar5 + uVar6,0,0,uVar6);\n  FUN_0003b370(iVar11);\n  FUN_00036710(uVar9,0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  if (*DAT_0007775c == 0) {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_00036710(iVar10,0);\n  uVar24 = FUN_00038b00();\n  if (DAT_00077750 != 0) {\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }\n                    \n  FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);\n}\n\n" (function_definition "void FUN_0001bfd0(void)\n\n{\n  int *piVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined1 auVar4 [4];\n  int iVar5;\n  uint uVar6;\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  int iVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  uint *puVar22;\n  byte *pbVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  byte *pbVar27;\n  int *piVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  bool bVar31;\n  bool bVar32;\n  bool bVar33;\n  byte bVar34;\n  longlong lVar35;\n  undefined8 uVar36;\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  bVar34 = 0;\n  uStack_14 = 0x1bfdb;\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");\n  bVar32 = true;\n  if (iVar5 != 0) {\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");\n  if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002bdd0("duplicate .debug_line sections");\n  }\n  if ((DAT_0007775c == (int *)0x0) && (bVar32)) {\n    return;\n  }\n  uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);\n  DAT_00077734 = uVar6 >> 3;\n  uVar7 = FUN_000366b0(".debug_line",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }\n  uVar8 = FUN_0001a440();\n  iVar5 = local_b0;\n  uVar9 = FUN_00024a90(2);\n  FUN_00043d50(uVar9,2,0,2);\n  iVar10 = FUN_00038ab0();\n  iVar11 = FUN_00038ab0();\n  local_a0[0] = 0x14;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_000312d0(&local_b0,uVar8);\n  FUN_0003b370(iVar10);\n  uVar6 = 1;\n  FUN_00024df0(DAT_00078070);\n  FUN_00024df0(1);\n  FUN_00024df0(0xfffffffb);\n  FUN_00024df0(0xe);\n  FUN_00024df0(0xd);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  if (1 < DAT_00077744) {\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }\n  uVar6 = 1;\n  FUN_00024df0(0);\n  if (1 < DAT_00077750) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }\nLAB_0001c398:\n  FUN_00024df0(0);\n  FUN_0003b370(iVar11);\n  puVar3 = PTR__bfd_std_section_0006efb4;\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }\n  if (DAT_00077d94 != 0) {\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }\n  FUN_0003b370(iVar5);\n  if (!bVar32) {\n    return;\n  }\n  if (DAT_0007775c == (int *)0x0) {\n                    \n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_000366b0(".debug_info",0);\n  uVar9 = FUN_000366b0(".debug_abbrev",0);\n  uVar16 = FUN_000366b0(".debug_aranges",0);\n  iVar10 = FUN_000366b0(".debug_str",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);\n  uVar6 = DAT_00077734;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar6 = uVar6 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(uVar16,iVar5);\n  local_ec = *DAT_0007775c;\n  if (local_ec == 0) goto LAB_0001caf4;\n  local_ec = FUN_000366b0(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);\n  uVar6 = DAT_00077734 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(local_ec,iVar5);\n  uVar6 = DAT_00077734;\n  FUN_00036710(local_ec,0);\n  if (uVar6 == 0) {\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\nLAB_0001caf4:\n  uVar6 = DAT_00077734;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a440();\n  auVar4 = local_a4;\n  uVar24 = local_a8;\n  iVar11 = local_b0;\n  uVar16 = FUN_00024a90(2);\n  FUN_00043d50(uVar16,2,0,2);\n  local_9c[0] = FUN_00036760(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_000312d0(local_cc,uVar17);\n  uVar25 = 2 - uVar24;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024df0(uVar6);\n  FUN_00024df0(0);\n  uVar24 = uVar18 + 3;\n  iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar5 = uVar6 * 2;\n  uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);\n  piVar28 = DAT_0007775c;\n  if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }\n  for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }\n  iVar5 = FUN_00024a90(iVar5);\n  FUN_00043d50(iVar5,0,0,uVar6);\n  FUN_00043d50(iVar5 + uVar6,0,0,uVar6);\n  FUN_0003b370(iVar11);\n  FUN_00036710(uVar9,0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  if (*DAT_0007775c == 0) {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_00036710(iVar10,0);\n  uVar24 = FUN_00038b00();\n  if (DAT_00077750 != 0) {\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }\n                    \n  FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);\n}" primitive_type (function_declarator "FUN_0001bfd0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int *piVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined1 auVar4 [4];\n  int iVar5;\n  uint uVar6;\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  int iVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  uint *puVar22;\n  byte *pbVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  byte *pbVar27;\n  int *piVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  bool bVar31;\n  bool bVar32;\n  bool bVar33;\n  byte bVar34;\n  longlong lVar35;\n  undefined8 uVar36;\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  bVar34 = 0;\n  uStack_14 = 0x1bfdb;\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");\n  bVar32 = true;\n  if (iVar5 != 0) {\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");\n  if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002bdd0("duplicate .debug_line sections");\n  }\n  if ((DAT_0007775c == (int *)0x0) && (bVar32)) {\n    return;\n  }\n  uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);\n  DAT_00077734 = uVar6 >> 3;\n  uVar7 = FUN_000366b0(".debug_line",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }\n  uVar8 = FUN_0001a440();\n  iVar5 = local_b0;\n  uVar9 = FUN_00024a90(2);\n  FUN_00043d50(uVar9,2,0,2);\n  iVar10 = FUN_00038ab0();\n  iVar11 = FUN_00038ab0();\n  local_a0[0] = 0x14;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_000312d0(&local_b0,uVar8);\n  FUN_0003b370(iVar10);\n  uVar6 = 1;\n  FUN_00024df0(DAT_00078070);\n  FUN_00024df0(1);\n  FUN_00024df0(0xfffffffb);\n  FUN_00024df0(0xe);\n  FUN_00024df0(0xd);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  if (1 < DAT_00077744) {\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }\n  uVar6 = 1;\n  FUN_00024df0(0);\n  if (1 < DAT_00077750) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }\nLAB_0001c398:\n  FUN_00024df0(0);\n  FUN_0003b370(iVar11);\n  puVar3 = PTR__bfd_std_section_0006efb4;\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }\n  if (DAT_00077d94 != 0) {\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }\n  FUN_0003b370(iVar5);\n  if (!bVar32) {\n    return;\n  }\n  if (DAT_0007775c == (int *)0x0) {\n                    \n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_000366b0(".debug_info",0);\n  uVar9 = FUN_000366b0(".debug_abbrev",0);\n  uVar16 = FUN_000366b0(".debug_aranges",0);\n  iVar10 = FUN_000366b0(".debug_str",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);\n  uVar6 = DAT_00077734;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar6 = uVar6 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(uVar16,iVar5);\n  local_ec = *DAT_0007775c;\n  if (local_ec == 0) goto LAB_0001caf4;\n  local_ec = FUN_000366b0(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);\n  uVar6 = DAT_00077734 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(local_ec,iVar5);\n  uVar6 = DAT_00077734;\n  FUN_00036710(local_ec,0);\n  if (uVar6 == 0) {\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\nLAB_0001caf4:\n  uVar6 = DAT_00077734;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a440();\n  auVar4 = local_a4;\n  uVar24 = local_a8;\n  iVar11 = local_b0;\n  uVar16 = FUN_00024a90(2);\n  FUN_00043d50(uVar16,2,0,2);\n  local_9c[0] = FUN_00036760(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_000312d0(local_cc,uVar17);\n  uVar25 = 2 - uVar24;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024df0(uVar6);\n  FUN_00024df0(0);\n  uVar24 = uVar18 + 3;\n  iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar5 = uVar6 * 2;\n  uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);\n  piVar28 = DAT_0007775c;\n  if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }\n  for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }\n  iVar5 = FUN_00024a90(iVar5);\n  FUN_00043d50(iVar5,0,0,uVar6);\n  FUN_00043d50(iVar5 + uVar6,0,0,uVar6);\n  FUN_0003b370(iVar11);\n  FUN_00036710(uVar9,0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  if (*DAT_0007775c == 0) {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_00036710(iVar10,0);\n  uVar24 = FUN_00038b00();\n  if (DAT_00077750 != 0) {\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }\n                    \n  FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "longlong lVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined1 auVar4 [4];" type_identifier (array_declarator "auVar4 [4]" identifier [ number_literal ]) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier 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 "int iVar19;" primitive_type identifier ;) (declaration "uint *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "uint *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "undefined4 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "byte *pbVar27;" type_identifier (pointer_declarator "*pbVar27" * identifier) ;) (declaration "int *piVar28;" primitive_type (pointer_declarator "*piVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "undefined4 *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "bool bVar31;" primitive_type identifier ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "bool bVar33;" primitive_type identifier ;) (declaration "byte bVar34;" type_identifier identifier ;) (declaration "longlong lVar35;" type_identifier identifier ;) (declaration "undefined8 uVar36;" 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 "bVar34 = 0;" (assignment_expression "bVar34 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x1bfdb;" (assignment_expression "uStack_14 = 0x1bfdb" identifier = number_literal) ;) (expression_statement "iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");" (assignment_expression "iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info")" identifier = (call_expression "bfd_get_section_by_name(DAT_00077ec4,".debug_info")" identifier (argument_list "(DAT_00077ec4,".debug_info")" ( identifier , (string_literal "".debug_info"" " string_content ") )))) ;) (expression_statement "bVar32 = true;" (assignment_expression "bVar32 = true" identifier = true) ;) (if_statement "if (iVar5 != 0) {\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }" { (expression_statement "iVar5 = FUN_000368e0(iVar5);" (assignment_expression "iVar5 = FUN_000368e0(iVar5)" identifier = (call_expression "FUN_000368e0(iVar5)" identifier (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "bVar32 = iVar5 == 0;" (assignment_expression "bVar32 = iVar5 == 0" identifier = (binary_expression "iVar5 == 0" identifier == number_literal)) ;) })) (expression_statement "iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");" (assignment_expression "iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line")" identifier = (call_expression "bfd_get_section_by_name(DAT_00077ec4,".debug_line")" identifier (argument_list "(DAT_00077ec4,".debug_line")" ( identifier , (string_literal "".debug_line"" " string_content ") )))) ;) (if_statement "if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002bdd0("duplicate .debug_line sections");\n  }" if (parenthesized_expression "((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0))" ( (binary_expression "(iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 = FUN_000368e0(iVar5), iVar5 != 0)" ( (comma_expression "iVar5 = FUN_000368e0(iVar5), iVar5 != 0" (assignment_expression "iVar5 = FUN_000368e0(iVar5)" identifier = (call_expression "FUN_000368e0(iVar5)" identifier (argument_list "(iVar5)" ( identifier )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002bdd0("duplicate .debug_line sections");\n  }" { (if_statement "if (DAT_0007775c == (int *)0x0) {\n      return;\n    }" if (parenthesized_expression "(DAT_0007775c == (int *)0x0)" ( (binary_expression "DAT_0007775c == (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_0002bdd0("duplicate .debug_line sections");" (call_expression "FUN_0002bdd0("duplicate .debug_line sections")" identifier (argument_list "("duplicate .debug_line sections")" ( (string_literal ""duplicate .debug_line sections"" " string_content ") ))) ;) })) (if_statement "if ((DAT_0007775c == (int *)0x0) && (bVar32)) {\n    return;\n  }" if (parenthesized_expression "((DAT_0007775c == (int *)0x0) && (bVar32))" ( (binary_expression "(DAT_0007775c == (int *)0x0) && (bVar32)" (parenthesized_expression "(DAT_0007775c == (int *)0x0)" ( (binary_expression "DAT_0007775c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar32)" ( identifier ))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);" (assignment_expression "uVar6 = bfd_arch_bits_per_address(DAT_00077ec4)" identifier = (call_expression "bfd_arch_bits_per_address(DAT_00077ec4)" identifier (argument_list "(DAT_00077ec4)" ( identifier )))) ;) (expression_statement "DAT_00077734 = uVar6 >> 3;" (assignment_expression "DAT_00077734 = uVar6 >> 3" identifier = (binary_expression "uVar6 >> 3" identifier >> number_literal)) ;) (expression_statement "uVar7 = FUN_000366b0(".debug_line",0);" (assignment_expression "uVar7 = FUN_000366b0(".debug_line",0)" identifier = (call_expression "FUN_000366b0(".debug_line",0)" identifier (argument_list "(".debug_line",0)" ( (string_literal "".debug_line"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008)" identifier (argument_list "(DAT_00077ec4,uVar7,0x2008)" ( identifier , identifier , number_literal ))) ;) (for_statement "for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }" for ( (assignment_expression "piVar28 = DAT_0007775c" identifier = identifier) ; (binary_expression "piVar28 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar28 = (int *)*piVar28" identifier = (cast_expression "(int *)*piVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar28" * identifier))) ) (compound_statement "{\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }" { (expression_statement "puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];" (assignment_expression "puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3]" identifier = (cast_expression "(undefined4 *)((undefined4 *)piVar28[2])[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((undefined4 *)piVar28[2])[3]" (parenthesized_expression "((undefined4 *)piVar28[2])" ( (cast_expression "(undefined4 *)piVar28[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar28[2]" identifier [ number_literal ])) )) [ number_literal ]))) ;) (for_statement "for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }" for ( (assignment_expression "puVar30 = *(undefined4 **)piVar28[2]" identifier = (pointer_expression "*(undefined4 **)piVar28[2]" * (cast_expression "(undefined4 **)piVar28[2]" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar28[2]" identifier [ number_literal ])))) ; (binary_expression "puVar30 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar30 = (undefined4 *)*puVar30" identifier = (cast_expression "(undefined4 *)*puVar30" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar30" * identifier))) ) (compound_statement "{\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }" { (expression_statement "*puVar26 = puVar30[2];" (assignment_expression "*puVar26 = puVar30[2]" (pointer_expression "*puVar26" * identifier) = (subscript_expression "puVar30[2]" identifier [ number_literal ])) ;) (expression_statement "puVar26 = (undefined4 *)puVar30[3];" (assignment_expression "puVar26 = (undefined4 *)puVar30[3]" identifier = (cast_expression "(undefined4 *)puVar30[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[3]" identifier [ number_literal ]))) ;) })) })) (expression_statement "uVar8 = FUN_0001a440();" (assignment_expression "uVar8 = FUN_0001a440()" identifier = (call_expression "FUN_0001a440()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = local_b0;" (assignment_expression "iVar5 = local_b0" identifier = identifier) ;) (expression_statement "uVar9 = FUN_00024a90(2);" (assignment_expression "uVar9 = FUN_00024a90(2)" identifier = (call_expression "FUN_00024a90(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_00043d50(uVar9,2,0,2);" (call_expression "FUN_00043d50(uVar9,2,0,2)" identifier (argument_list "(uVar9,2,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "iVar10 = FUN_00038ab0();" (assignment_expression "iVar10 = FUN_00038ab0()" identifier = (call_expression "FUN_00038ab0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar11 = FUN_00038ab0();" (assignment_expression "iVar11 = FUN_00038ab0()" identifier = (call_expression "FUN_00038ab0()" 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 "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_000312d0(&local_b0,uVar8);" (call_expression "FUN_000312d0(&local_b0,uVar8)" identifier (argument_list "(&local_b0,uVar8)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) (expression_statement "FUN_0003b370(iVar10);" (call_expression "FUN_0003b370(iVar10)" identifier (argument_list "(iVar10)" ( identifier ))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "FUN_00024df0(DAT_00078070);" (call_expression "FUN_00024df0(DAT_00078070)" identifier (argument_list "(DAT_00078070)" ( identifier ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0xfffffffb);" (call_expression "FUN_00024df0(0xfffffffb)" identifier (argument_list "(0xfffffffb)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0xe);" (call_expression "FUN_00024df0(0xe)" identifier (argument_list "(0xe)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0xd);" (call_expression "FUN_00024df0(0xd)" identifier (argument_list "(0xd)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (if_statement "if (1 < DAT_00077744) {\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }" if (parenthesized_expression "(1 < DAT_00077744)" ( (binary_expression "1 < DAT_00077744" number_literal < identifier) )) (compound_statement "{\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }" { (do_statement "do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);" do (compound_statement "{\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    }" { (expression_statement "iVar10 = uVar6 * 4;" (assignment_expression "iVar10 = uVar6 * 4" identifier = (binary_expression "uVar6 * 4" identifier * number_literal)) ;) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));" (assignment_expression "pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10))" identifier = (cast_expression "(char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10))" identifier (argument_list "(*(undefined4 *)(DAT_00077748 + iVar10))" ( (pointer_expression "*(undefined4 *)(DAT_00077748 + iVar10)" * (cast_expression "(undefined4 *)(DAT_00077748 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00077748 + iVar10)" ( (binary_expression "DAT_00077748 + 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_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a90(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 "(uVar6 < DAT_00077744)" ( (binary_expression "uVar6 < DAT_00077744" identifier < identifier) )) ;) })) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (if_statement "if (1 < DAT_00077750) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }" if (parenthesized_expression "(1 < DAT_00077750)" ( (binary_expression "1 < DAT_00077750" number_literal < identifier) )) (compound_statement "{\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }" { (do_statement "do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);" do (compound_statement "{\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    }" { (while_statement "while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }" while (parenthesized_expression "(pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0)" ( (comma_expression "pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0" (assignment_expression "pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8)" identifier = (pointer_expression "*(char **)(DAT_00077754 + uVar6 * 8)" * (cast_expression "(char **)(DAT_00077754 + uVar6 * 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00077754 + uVar6 * 8)" ( (binary_expression "DAT_00077754 + uVar6 * 8" identifier + (binary_expression "uVar6 * 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_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\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_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a90(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 "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_00077750 <= uVar6) goto LAB_0001c398;" if (parenthesized_expression "(DAT_00077750 <= uVar6)" ( (binary_expression "DAT_00077750 <= uVar6" identifier <= identifier) )) (goto_statement "goto LAB_0001c398;" 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_0002bd30(uVar8,uVar6);" (call_expression "FUN_0002bd30(uVar8,uVar6)" identifier (argument_list "(uVar8,uVar6)" ( identifier , identifier ))) ;) (expression_statement "*(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;" (assignment_expression "*(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45" (pointer_expression "*(undefined **)(DAT_00077754 + uVar6 * 8)" * (cast_expression "(undefined **)(DAT_00077754 + uVar6 * 8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00077754 + uVar6 * 8)" ( (binary_expression "DAT_00077754 + uVar6 * 8" identifier + (binary_expression "uVar6 * 8" identifier * number_literal)) )))) = (pointer_expression "&DAT_00050b45" & identifier)) ;) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar6 < DAT_00077750)" ( (binary_expression "uVar6 < DAT_00077750" identifier < identifier) )) ;) })) (labeled_statement "LAB_0001c398:\n  FUN_00024df0(0);" statement_identifier : (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "FUN_0003b370(iVar11);" (call_expression "FUN_0003b370(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;) (expression_statement "puVar3 = PTR__bfd_std_section_0006efb4;" (assignment_expression "puVar3 = PTR__bfd_std_section_0006efb4" identifier = identifier) ;) (for_statement "for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }" for ( (assignment_expression "piVar28 = DAT_0007775c" identifier = identifier) ; (binary_expression "piVar28 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar28 = (int *)*piVar28" identifier = (cast_expression "(int *)*piVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar28" * identifier))) ) (compound_statement "{\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }" { (expression_statement "puVar26 = (undefined4 *)piVar28[1];" (assignment_expression "puVar26 = (undefined4 *)piVar28[1]" identifier = (cast_expression "(undefined4 *)piVar28[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar28[1]" identifier [ number_literal ]))) ;) (if_statement "if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }" if (parenthesized_expression "((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0))" ( (binary_expression "(((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)" (parenthesized_expression "(((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90))" ( (binary_expression "((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)" (parenthesized_expression "((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))" ( (binary_expression "(puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180))" (parenthesized_expression "(puVar26 == (undefined4 *)(puVar3 + 0xc0))" ( (binary_expression "puVar26 == (undefined4 *)(puVar3 + 0xc0)" identifier == (cast_expression "(undefined4 *)(puVar3 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0xc0)" ( (binary_expression "puVar3 + 0xc0" identifier + number_literal) )))) )) || (parenthesized_expression "(puVar26 == (undefined4 *)(puVar3 + 0x180))" ( (binary_expression "puVar26 == (undefined4 *)(puVar3 + 0x180)" identifier == (cast_expression "(undefined4 *)(puVar3 + 0x180)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x180)" ( (binary_expression "puVar3 + 0x180" identifier + number_literal) )))) ))) )) || (parenthesized_expression "(puVar26 == DAT_00077d90)" ( (binary_expression "puVar26 == DAT_00077d90" identifier == identifier) ))) )) || (parenthesized_expression "(puVar26 == DAT_00077ce0)" ( (binary_expression "puVar26 == DAT_00077ce0" identifier == identifier) ))) )) (compound_statement "{\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }" { (expression_statement "FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);" (call_expression "FUN_0002bc50("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 **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }" else (compound_statement "{\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }" { (expression_statement "local_c4 = *(int **)(piVar28[2] + 8);" (assignment_expression "local_c4 = *(int **)(piVar28[2] + 8)" identifier = (pointer_expression "*(int **)(piVar28[2] + 8)" * (cast_expression "(int **)(piVar28[2] + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar28[2] + 8)" ( (binary_expression "piVar28[2] + 8" (subscript_expression "piVar28[2]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (expression_statement "bVar33 = DAT_00077d94 == 0;" (assignment_expression "bVar33 = DAT_00077d94 == 0" identifier = (binary_expression "DAT_00077d94 == 0" identifier == number_literal)) ;) (if_statement "if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }" if (parenthesized_expression "(!bVar33)" ( (unary_expression "!bVar33" ! identifier) )) (compound_statement "{\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }" { (expression_statement "iVar10 = 6;" (assignment_expression "iVar10 = 6" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)*puVar26;" (assignment_expression "pbVar23 = (byte *)*puVar26" identifier = (cast_expression "(byte *)*puVar26" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ;) (expression_statement "pbVar27 = (byte *)".text";" (assignment_expression "pbVar27 = (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          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);" do (compound_statement "{\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -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 "bVar31 = *pbVar23 < *pbVar27;" (assignment_expression "bVar31 = *pbVar23 < *pbVar27" identifier = (binary_expression "*pbVar23 < *pbVar27" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar27" * identifier))) ;) (expression_statement "bVar33 = *pbVar23 == *pbVar27;" (assignment_expression "bVar33 = *pbVar23 == *pbVar27" identifier = (binary_expression "*pbVar23 == *pbVar27" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar27" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar34 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;" (assignment_expression "pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "pbVar27 + (uint)bVar34 * -2 + 1" (binary_expression "pbVar27 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar33)" ( identifier )) ;) (expression_statement "pcVar12 = ".debug_line";" (assignment_expression "pcVar12 = ".debug_line"" identifier = (string_literal "".debug_line"" " string_content ")) ;) (if_statement "if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }" if (parenthesized_expression "((!bVar31 && !bVar33) != bVar31)" ( (binary_expression "(!bVar31 && !bVar33) != bVar31" (parenthesized_expression "(!bVar31 && !bVar33)" ( (binary_expression "!bVar31 && !bVar33" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar33" ! 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_000365f0(pcVar12,0);" (assignment_expression "uVar8 = FUN_000365f0(pcVar12,0)" identifier = (call_expression "FUN_000365f0(pcVar12,0)" identifier (argument_list "(pcVar12,0)" ( identifier , number_literal )))) ;) (expression_statement "FUN_00036710(uVar8,0);" (call_expression "FUN_00036710(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 "lVar2 = 0;" (assignment_expression "lVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\n      } while (piVar1 != (int *)0x0);" do (compound_statement "{\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\n      }" { (expression_statement "local_108 = (int)((ulonglong)lVar2 >> 0x20);" (assignment_expression "local_108 = (int)((ulonglong)lVar2 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar2 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar2 >> 0x20)" ( (binary_expression "(ulonglong)lVar2 >> 0x20" (cast_expression "(ulonglong)lVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_10c = (uint)lVar2;" (assignment_expression "local_10c = (uint)lVar2" identifier = (cast_expression "(uint)lVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar29 = local_c4[2];" (assignment_expression "iVar29 = local_c4[2]" identifier = (subscript_expression "local_c4[2]" identifier [ number_literal ])) ;) (if_statement "if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }" if (parenthesized_expression "(iVar29 != local_e8)" ( (binary_expression "iVar29 != local_e8" identifier != identifier) )) (compound_statement "{\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }" { (expression_statement "FUN_00024df0(4);" (call_expression "FUN_00024df0(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar21 = local_c4[4];" (assignment_expression "iVar21 = local_c4[4]" identifier = (subscript_expression "local_c4[4]" identifier [ number_literal ])) ;) (if_statement "if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }" if (parenthesized_expression "(iVar21 != iVar10)" ( (binary_expression "iVar21 != iVar10" identifier != identifier) )) (compound_statement "{\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }" { (expression_statement "FUN_00024df0(5);" (call_expression "FUN_00024df0(5)" identifier (argument_list "(5)" ( number_literal ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\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_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }" { (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar10 = FUN_00031b10(local_c4[7],0,0);" (assignment_expression "iVar10 = FUN_00031b10(local_c4[7],0,0)" identifier = (call_expression "FUN_00031b10(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_00031b10(iVar10 + 1,0,1);" (assignment_expression "uVar8 = FUN_00031b10(iVar10 + 1,0,1)" identifier = (call_expression "FUN_00031b10(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_00024a90(uVar8);" (assignment_expression "uVar8 = FUN_00024a90(uVar8)" identifier = (call_expression "FUN_00024a90(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "FUN_00031b50(uVar8,iVar10 + 1,0,1);" (call_expression "FUN_00031b50(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_00024df0(4);" (call_expression "FUN_00024df0(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar19 = local_c4[5];" (assignment_expression "iVar19 = local_c4[5]" identifier = (subscript_expression "local_c4[5]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }" if (parenthesized_expression "(iVar19 != iVar11)" ( (binary_expression "iVar19 != iVar11" identifier != identifier) )) (compound_statement "{\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }" { (expression_statement "FUN_00024df0(0xc);" (call_expression "FUN_00024df0(0xc)" identifier (argument_list "(0xc)" ( number_literal ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar6 = local_c4[6];" (assignment_expression "uVar6 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) (expression_statement "uVar24 = uVar6;" (assignment_expression "uVar24 = uVar6" identifier = identifier) ;) (if_statement "if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }" if (parenthesized_expression "(((local_100 ^ uVar6) & 1) != 0)" ( (binary_expression "((local_100 ^ uVar6) & 1) != 0" (parenthesized_expression "((local_100 ^ uVar6) & 1)" ( (binary_expression "(local_100 ^ uVar6) & 1" (parenthesized_expression "(local_100 ^ uVar6)" ( (binary_expression "local_100 ^ uVar6" identifier ^ identifier) )) & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }" { (expression_statement "FUN_00024df0(6);" (call_expression "FUN_00024df0(6)" identifier (argument_list "(6)" ( number_literal ))) ;) (expression_statement "uVar24 = local_c4[6];" (assignment_expression "uVar24 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) (expression_statement "local_100 = uVar6;" (assignment_expression "local_100 = uVar6" identifier = identifier) ;) })) (if_statement "if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }" if (parenthesized_expression "((uVar24 & 2) != 0)" ( (binary_expression "(uVar24 & 2) != 0" (parenthesized_expression "(uVar24 & 2)" ( (binary_expression "uVar24 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }" { (expression_statement "FUN_00024df0(7);" (call_expression "FUN_00024df0(7)" identifier (argument_list "(7)" ( number_literal ))) ;) (expression_statement "uVar24 = local_c4[6];" (assignment_expression "uVar24 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) })) (if_statement "if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }" if (parenthesized_expression "((uVar24 & 4) != 0)" ( (binary_expression "(uVar24 & 4) != 0" (parenthesized_expression "(uVar24 & 4)" ( (binary_expression "uVar24 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }" { (expression_statement "FUN_00024df0(10);" (call_expression "FUN_00024df0(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "uVar24 = local_c4[6];" (assignment_expression "uVar24 = local_c4[6]" identifier = (subscript_expression "local_c4[6]" identifier [ number_literal ])) ;) })) (if_statement "if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }" if (parenthesized_expression "((uVar24 & 8) != 0)" ( (binary_expression "(uVar24 & 8) != 0" (parenthesized_expression "(uVar24 & 8)" ( (binary_expression "uVar24 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_00024df0(0xb);\n        }" { (expression_statement "FUN_00024df0(0xb);" (call_expression "FUN_00024df0(0xb)" identifier (argument_list "(0xb)" ( number_literal ))) ;) })) (expression_statement "uVar6 = local_c4[1];" (assignment_expression "uVar6 = local_c4[1]" identifier = (subscript_expression "local_c4[1]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = FUN_0003b3c0(uVar6);" (assignment_expression "iVar15 = FUN_0003b3c0(uVar6)" identifier = (call_expression "FUN_0003b3c0(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "lVar35 = FUN_00039f50(uVar6);" (assignment_expression "lVar35 = FUN_00039f50(uVar6)" identifier = (call_expression "FUN_00039f50(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (if_statement "if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }" if (parenthesized_expression "(local_d0 == 0)" ( (binary_expression "local_d0 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }" { (labeled_statement "LAB_0001d2b0:\n          FUN_00024df0(0);" statement_identifier : (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024df0(2);" (call_expression "FUN_00024df0(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] = uVar6;" (assignment_expression "local_9c[0] = uVar6" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_000312d0(local_9c,DAT_00077734);" (call_expression "FUN_000312d0(local_9c,DAT_00077734)" identifier (argument_list "(local_9c,DAT_00077734)" ( identifier , identifier ))) ;) (expression_statement "FUN_0001aa30();" (call_expression "FUN_0001aa30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }" else (compound_statement "{\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }" { (if_statement "if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }" if (parenthesized_expression "((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0))" ( (binary_expression "(local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)" (parenthesized_expression "(local_c4[8] == DAT_0007773c)" ( (binary_expression "local_c4[8] == DAT_0007773c" (subscript_expression "local_c4[8]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "(DAT_0007773c != 0)" ( (binary_expression "DAT_0007773c != 0" identifier != number_literal) ))) )) (compound_statement "{\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }" { (if_statement "if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;" if (parenthesized_expression "(iVar15 == local_d0)" ( (binary_expression "iVar15 == local_d0" identifier == identifier) )) (compound_statement "{\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }" { (if_statement "if (lVar35 != lVar2) goto LAB_0001c5d8;" if (parenthesized_expression "(lVar35 != lVar2)" ( (binary_expression "lVar35 != lVar2" identifier != identifier) )) (goto_statement "goto LAB_0001c5d8;" goto statement_identifier ;)) }) (else_clause "else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;" else (if_statement "if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;" if (parenthesized_expression "((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0))" ( (binary_expression "(lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)" (parenthesized_expression "(lVar35 != 0)" ( (binary_expression "lVar35 != 0" identifier != number_literal) )) || (parenthesized_expression "(uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)" ( (comma_expression "uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (assignment_expression "uVar36 = FUN_0001a520()" identifier = (call_expression "FUN_0001a520()" identifier (argument_list "()" ( )))) , (comma_expression "iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (assignment_expression "iVar11 = (int)((ulonglong)uVar36 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) , (comma_expression "uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (assignment_expression "uVar24 = (uint)(local_10c < (uint)uVar36)" identifier = (call_expression "(uint)(local_10c < (uint)uVar36)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_10c < (uint)uVar36)" ( (binary_expression "local_10c < (uint)uVar36" identifier < (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (comma_expression "iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (assignment_expression "iVar10 = local_108 - iVar11" identifier = (binary_expression "local_108 - iVar11" identifier - identifier)) , (binary_expression "(SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (parenthesized_expression "(SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24))" ( (binary_expression "SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)" (call_expression "SBORROW4(local_108,iVar11)" identifier (argument_list "(local_108,iVar11)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar10,uVar24)" identifier (argument_list "(iVar10,uVar24)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar10 - uVar24) < 0" (cast_expression "(int)(iVar10 - uVar24)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar10 - uVar24)" ( (binary_expression "iVar10 - uVar24" identifier - identifier) ))) < number_literal)))))) ))) )) (goto_statement "goto LAB_0001c5e8;" goto statement_identifier ;)))) (goto_statement "goto LAB_0001d2b0;" goto statement_identifier ;) })) (if_statement "if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }" if (parenthesized_expression "(iVar15 == local_d0)" ( (binary_expression "iVar15 == local_d0" identifier == identifier) )) (compound_statement "{\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }" { (labeled_statement "LAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;" statement_identifier : (if_statement "if (DAT_00077d00 != 0) goto LAB_0001c5e8;" if (parenthesized_expression "(DAT_00077d00 != 0)" ( (binary_expression "DAT_00077d00 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001c5e8;" goto statement_identifier ;))) (expression_statement "FUN_0001aa30();" (call_expression "FUN_0001aa30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }" else (compound_statement "{\nLAB_0001c5e8:\n            FUN_0001a760();\n          }" { (labeled_statement "LAB_0001c5e8:\n            FUN_0001a760();" statement_identifier : (expression_statement "FUN_0001a760();" (call_expression "FUN_0001a760()" 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 = iVar21;" (assignment_expression "iVar10 = iVar21" identifier = identifier) ;) (expression_statement "iVar11 = iVar19;" (assignment_expression "iVar11 = iVar19" identifier = identifier) ;) (expression_statement "local_e8 = iVar29;" (assignment_expression "local_e8 = iVar29" 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 "lVar2 = lVar35;" (assignment_expression "lVar2 = lVar35" 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 "uVar36 = FUN_0001a520();" (assignment_expression "uVar36 = FUN_0001a520()" identifier = (call_expression "FUN_0001a520()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }" if (parenthesized_expression "((iVar15 == iVar10) && (DAT_00077d00 == 0))" ( (binary_expression "(iVar15 == iVar10) && (DAT_00077d00 == 0)" (parenthesized_expression "(iVar15 == iVar10)" ( (binary_expression "iVar15 == iVar10" identifier == identifier) )) && (parenthesized_expression "(DAT_00077d00 == 0)" ( (binary_expression "DAT_00077d00 == 0" identifier == number_literal) ))) )) (compound_statement "{\n        FUN_0001aa30();\n      }" { (expression_statement "FUN_0001aa30();" (call_expression "FUN_0001aa30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }" else (compound_statement "{\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }" { (expression_statement "FUN_00038ad0(puVar26,uVar36,iVar10);" (call_expression "FUN_00038ad0(puVar26,uVar36,iVar10)" identifier (argument_list "(puVar26,uVar36,iVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0001a760();" (call_expression "FUN_0001a760()" identifier (argument_list "()" ( ))) ;) }))) }))) })) (if_statement "if (DAT_00077d94 != 0) {\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }" if (parenthesized_expression "(DAT_00077d94 != 0)" ( (binary_expression "DAT_00077d94 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }" { (expression_statement "uVar8 = FUN_000365f0(".debug_line_end",0);" (assignment_expression "uVar8 = FUN_000365f0(".debug_line_end",0)" identifier = (call_expression "FUN_000365f0(".debug_line_end",0)" identifier (argument_list "(".debug_line_end",0)" ( (string_literal "".debug_line_end"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00036710(uVar8,0);" (call_expression "FUN_00036710(uVar8,0)" identifier (argument_list "(uVar8,0)" ( identifier , number_literal ))) ;) })) (expression_statement "FUN_0003b370(iVar5);" (call_expression "FUN_0003b370(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))) ;) (if_statement "if (!bVar32) {\n    return;\n  }" if (parenthesized_expression "(!bVar32)" ( (unary_expression "!bVar32" ! identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_0007775c == (int *)0x0) {\n                    \n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }" if (parenthesized_expression "(DAT_0007775c == (int *)0x0)" ( (binary_expression "DAT_0007775c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }" { (expression_statement "FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);" (call_expression "FUN_0002be50("../../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_000366b0(".debug_info",0);" (assignment_expression "uVar8 = FUN_000366b0(".debug_info",0)" identifier = (call_expression "FUN_000366b0(".debug_info",0)" identifier (argument_list "(".debug_info",0)" ( (string_literal "".debug_info"" " string_content ") , number_literal )))) ;) (expression_statement "uVar9 = FUN_000366b0(".debug_abbrev",0);" (assignment_expression "uVar9 = FUN_000366b0(".debug_abbrev",0)" identifier = (call_expression "FUN_000366b0(".debug_abbrev",0)" identifier (argument_list "(".debug_abbrev",0)" ( (string_literal "".debug_abbrev"" " string_content ") , number_literal )))) ;) (expression_statement "uVar16 = FUN_000366b0(".debug_aranges",0);" (assignment_expression "uVar16 = FUN_000366b0(".debug_aranges",0)" identifier = (call_expression "FUN_000366b0(".debug_aranges",0)" identifier (argument_list "(".debug_aranges",0)" ( (string_literal "".debug_aranges"" " string_content ") , number_literal )))) ;) (expression_statement "iVar10 = FUN_000366b0(".debug_str",0);" (assignment_expression "iVar10 = FUN_000366b0(".debug_str",0)" identifier = (call_expression "FUN_000366b0(".debug_str",0)" identifier (argument_list "(".debug_str",0)" ( (string_literal "".debug_str"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008)" identifier (argument_list "(DAT_00077ec4,uVar8,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008)" identifier (argument_list "(DAT_00077ec4,uVar9,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008)" identifier (argument_list "(DAT_00077ec4,uVar16,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008)" identifier (argument_list "(DAT_00077ec4,iVar10,0x1802008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar6 = DAT_00077734;" (assignment_expression "uVar6 = DAT_00077734" 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 "uVar6 = uVar6 * 2;" (assignment_expression "uVar6 = uVar6 * 2" identifier = (binary_expression "uVar6 * 2" identifier * number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (if_statement "if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }" { (for_statement "for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }" for ( ; (binary_expression "(uVar6 >> iVar5 & 1) == 0" (parenthesized_expression "(uVar6 >> iVar5 & 1)" ( (binary_expression "uVar6 >> iVar5 & 1" (binary_expression "uVar6 >> iVar5" identifier >> identifier) & number_literal) )) == number_literal) ; (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ) (compound_statement "{\n    }" { })) })) (if_statement "if (uVar6 == 0) {\n    iVar5 = -1;\n  }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar5 = -1;\n  }" { (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" identifier = number_literal) ;) })) (expression_statement "FUN_0003f050(uVar16,iVar5);" (call_expression "FUN_0003f050(uVar16,iVar5)" identifier (argument_list "(uVar16,iVar5)" ( identifier , identifier ))) ;) (expression_statement "local_ec = *DAT_0007775c;" (assignment_expression "local_ec = *DAT_0007775c" identifier = (pointer_expression "*DAT_0007775c" * identifier)) ;) (if_statement "if (local_ec == 0) goto LAB_0001caf4;" if (parenthesized_expression "(local_ec == 0)" ( (binary_expression "local_ec == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001caf4;" goto statement_identifier ;)) (expression_statement "local_ec = FUN_000366b0(".debug_ranges",0);" (assignment_expression "local_ec = FUN_000366b0(".debug_ranges",0)" identifier = (call_expression "FUN_000366b0(".debug_ranges",0)" identifier (argument_list "(".debug_ranges",0)" ( (string_literal "".debug_ranges"" " string_content ") , number_literal )))) ;) (expression_statement "bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008)" identifier (argument_list "(DAT_00077ec4,local_ec,0x2008)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar6 = DAT_00077734 * 2;" (assignment_expression "uVar6 = DAT_00077734 * 2" identifier = (binary_expression "DAT_00077734 * 2" identifier * number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (if_statement "if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }" { (for_statement "for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }" for ( ; (binary_expression "(uVar6 >> iVar5 & 1) == 0" (parenthesized_expression "(uVar6 >> iVar5 & 1)" ( (binary_expression "uVar6 >> iVar5 & 1" (binary_expression "uVar6 >> iVar5" identifier >> identifier) & number_literal) )) == number_literal) ; (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ) (compound_statement "{\n    }" { })) })) (if_statement "if (uVar6 == 0) {\n    iVar5 = -1;\n  }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar5 = -1;\n  }" { (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" identifier = number_literal) ;) })) (expression_statement "FUN_0003f050(local_ec,iVar5);" (call_expression "FUN_0003f050(local_ec,iVar5)" identifier (argument_list "(local_ec,iVar5)" ( identifier , identifier ))) ;) (expression_statement "uVar6 = DAT_00077734;" (assignment_expression "uVar6 = DAT_00077734" identifier = identifier) ;) (expression_statement "FUN_00036710(local_ec,0);" (call_expression "FUN_00036710(local_ec,0)" identifier (argument_list "(local_ec,0)" ( identifier , number_literal ))) ;) (if_statement "if (uVar6 == 0) {\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }" { (if_statement "if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;" if (parenthesized_expression "(DAT_0007775c == (int *)0x0)" ( (binary_expression "DAT_0007775c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001caf4;" goto statement_identifier ;)) (labeled_statement "LAB_0001c9b0:\n    piVar28 = DAT_0007775c;" statement_identifier : (expression_statement "piVar28 = DAT_0007775c;" (assignment_expression "piVar28 = DAT_0007775c" identifier = identifier) ;)) (do_statement "do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);" do (compound_statement "{\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    }" { (expression_statement "uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));" (assignment_expression "uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" identifier = (call_expression "FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" identifier (argument_list "(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" ( (subscript_expression "piVar28[1]" identifier [ number_literal ]) , number_literal , number_literal , (pointer_expression "*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80)" * (cast_expression "(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(piVar28[1] + 0x80)" * (pointer_expression "*(undefined4 **)(piVar28[1] + 0x80)" * (cast_expression "(undefined4 **)(piVar28[1] + 0x80)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar28[1] + 0x80)" ( (binary_expression "piVar28[1] + 0x80" (subscript_expression "piVar28[1]" identifier [ number_literal ]) + number_literal) ))))))) )))) ;) (expression_statement "iVar5 = piVar28[1];" (assignment_expression "iVar5 = piVar28[1]" identifier = (subscript_expression "piVar28[1]" identifier [ number_literal ])) ;) (expression_statement "piVar28[3] = uVar24;" (assignment_expression "piVar28[3] = uVar24" (subscript_expression "piVar28[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar11 = **(int **)(iVar5 + 0x80);" (assignment_expression "iVar11 = **(int **)(iVar5 + 0x80)" identifier = (pointer_expression "**(int **)(iVar5 + 0x80)" * (pointer_expression "*(int **)(iVar5 + 0x80)" * (cast_expression "(int **)(iVar5 + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x80)" ( (binary_expression "iVar5 + 0x80" identifier + number_literal) )))))) ;) (do_statement "do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);" do (compound_statement "{\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      }" { (expression_statement "iVar29 = iVar11;" (assignment_expression "iVar29 = iVar11" identifier = identifier) ;) (expression_statement "iVar11 = *(int *)(iVar29 + 8);" (assignment_expression "iVar11 = *(int *)(iVar29 + 8)" identifier = (pointer_expression "*(int *)(iVar29 + 8)" * (cast_expression "(int *)(iVar29 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 8)" ( (binary_expression "iVar29 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar29 + 4);" (assignment_expression "uVar16 = *(undefined4 *)(iVar29 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar29 + 4)" * (cast_expression "(undefined4 *)(iVar29 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar36 = FUN_0001a520();" (assignment_expression "uVar36 = FUN_0001a520()" identifier = (call_expression "FUN_0001a520()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);" (assignment_expression "uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16)" identifier = (call_expression "FUN_00038ad0(iVar5,uVar36,uVar16)" identifier (argument_list "(iVar5,uVar36,uVar16)" ( identifier , identifier , identifier )))) ;) (expression_statement "piVar28[4] = uVar17;" (assignment_expression "piVar28[4] = uVar17" (subscript_expression "piVar28[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] = uVar24;" (assignment_expression "local_9c[0] = uVar24" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_000312d0(local_9c,uVar6);" (call_expression "FUN_000312d0(local_9c,uVar6)" identifier (argument_list "(local_9c,uVar6)" ( 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_000312d0(local_9c,uVar6);" (call_expression "FUN_000312d0(local_9c,uVar6)" identifier (argument_list "(local_9c,uVar6)" ( identifier , identifier ))) ;) (expression_statement "piVar28 = (int *)*piVar28;" (assignment_expression "piVar28 = (int *)*piVar28" identifier = (cast_expression "(int *)*piVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar28" * identifier))) ;) }) while (parenthesized_expression "(piVar28 != (int *)0x0)" ( (binary_expression "piVar28 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (uVar6 == 0) goto LAB_0001caf4;" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001caf4;" goto statement_identifier ;)) }) (else_clause "else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }" else (compound_statement "{\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);" do (compound_statement "{\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    }" { (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024df0(0xff);" (call_expression "FUN_00024df0(0xff)" identifier (argument_list "(0xff)" ( number_literal ))) ;) }) while (parenthesized_expression "(uVar6 != uVar24)" ( (binary_expression "uVar6 != uVar24" identifier != identifier) )) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);" do (compound_statement "{\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    }" { (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(uVar6 != uVar24)" ( (binary_expression "uVar6 != uVar24" identifier != identifier) )) ;) (if_statement "if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;" if (parenthesized_expression "(DAT_0007775c != (int *)0x0)" ( (binary_expression "DAT_0007775c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001c9b0;" goto statement_identifier ;)) }))) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);" do (compound_statement "{\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  }" { (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(uVar6 != uVar24)" ( (binary_expression "uVar6 != uVar24" identifier != identifier) )) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);" do (compound_statement "{\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  }" { (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) while (parenthesized_expression "(uVar6 != uVar24)" ( (binary_expression "uVar6 != uVar24" identifier != identifier) )) ;) (labeled_statement "LAB_0001caf4:\n  uVar6 = DAT_00077734;" statement_identifier : (expression_statement "uVar6 = DAT_00077734;" (assignment_expression "uVar6 = DAT_00077734" identifier = identifier) ;)) (expression_statement "local_cc = local_9c;" (assignment_expression "local_cc = local_9c" identifier = identifier) ;) (expression_statement "uVar17 = FUN_0001a440();" (assignment_expression "uVar17 = FUN_0001a440()" identifier = (call_expression "FUN_0001a440()" identifier (argument_list "()" ( )))) ;) (expression_statement "auVar4 = local_a4;" (assignment_expression "auVar4 = local_a4" identifier = identifier) ;) (expression_statement "uVar24 = local_a8;" (assignment_expression "uVar24 = local_a8" identifier = identifier) ;) (expression_statement "iVar11 = local_b0;" (assignment_expression "iVar11 = local_b0" identifier = identifier) ;) (expression_statement "uVar16 = FUN_00024a90(2);" (assignment_expression "uVar16 = FUN_00024a90(2)" identifier = (call_expression "FUN_00024a90(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_00043d50(uVar16,2,0,2);" (call_expression "FUN_00043d50(uVar16,2,0,2)" identifier (argument_list "(uVar16,2,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_9c[0] = FUN_00036760(uVar8);" (assignment_expression "local_9c[0] = FUN_00036760(uVar8)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036760(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_000312d0(local_cc,uVar17);" (call_expression "FUN_000312d0(local_cc,uVar17)" identifier (argument_list "(local_cc,uVar17)" ( identifier , identifier ))) ;) (expression_statement "uVar25 = 2 - uVar24;" (assignment_expression "uVar25 = 2 - uVar24" identifier = (binary_expression "2 - uVar24" 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 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)\n  ;" (assignment_expression "iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)" identifier = (binary_expression "((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)" (binary_expression "((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4)" (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 < uVar24) - (int)auVar4)" ( (binary_expression "-(uint)(2 < uVar24) - (int)auVar4" (unary_expression "-(uint)(2 < uVar24)" - (call_expression "(uint)(2 < uVar24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(2 < uVar24)" ( (binary_expression "2 < uVar24" number_literal < identifier) )))) - (cast_expression "(int)auVar4" ( (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_00024df0(uVar6);" (call_expression "FUN_00024df0(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "uVar24 = uVar18 + 3;" (assignment_expression "uVar24 = uVar18 + 3" identifier = (binary_expression "uVar18 + 3" identifier + number_literal)) ;) (expression_statement "iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);" (assignment_expression "iVar29 = 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 "iVar5 = uVar6 * 2;" (assignment_expression "iVar5 = uVar6 * 2" identifier = (binary_expression "uVar6 * 2" identifier * number_literal)) ;) (expression_statement "uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);" (assignment_expression "uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0)" identifier = (call_expression "FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0)" identifier (argument_list "(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,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 "piVar28 = DAT_0007775c;" (assignment_expression "piVar28 = DAT_0007775c" identifier = identifier) ;) (if_statement "if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }" if (parenthesized_expression "(-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0))" ( (binary_expression "-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)" (unary_expression "-(int)((ulonglong)uVar36 >> 0x20)" - (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) < (cast_expression "(int)(uint)((int)uVar36 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)uVar36 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar36 != 0)" ( (binary_expression "(int)uVar36 != 0" (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))))) )) (compound_statement "{\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }" { (do_statement "do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));" do (compound_statement "{\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    }" { (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "bVar32 = 0xfffffffe < uVar24;" (assignment_expression "bVar32 = 0xfffffffe < uVar24" identifier = (binary_expression "0xfffffffe < uVar24" number_literal < identifier)) ;) (expression_statement "uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);" (assignment_expression "uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0)" identifier = (call_expression "FUN_0004cdb0(uVar24,iVar29,iVar5,0)" identifier (argument_list "(uVar24,iVar29,iVar5,0)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "iVar29 = iVar29 + (uint)bVar32;" (assignment_expression "iVar29 = iVar29 + (uint)bVar32" identifier = (binary_expression "iVar29 + (uint)bVar32" identifier + (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "piVar28 = DAT_0007775c;" (assignment_expression "piVar28 = DAT_0007775c" identifier = identifier) ;) }) while (parenthesized_expression "(-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0))" ( (binary_expression "-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)" (unary_expression "-(int)((ulonglong)uVar36 >> 0x20)" - (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) < (cast_expression "(int)(uint)((int)uVar36 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)uVar36 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar36 != 0)" ( (binary_expression "(int)uVar36 != 0" (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))))) )) ;) })) (for_statement "for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }" for ( ; (binary_expression "piVar28 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar28 = (int *)*piVar28" identifier = (cast_expression "(int *)*piVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar28" * identifier))) ) (compound_statement "{\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }" { (expression_statement "iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));" (assignment_expression "iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" identifier = (call_expression "FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" identifier (argument_list "(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" ( (subscript_expression "piVar28[1]" identifier [ number_literal ]) , number_literal , number_literal , (pointer_expression "*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80)" * (cast_expression "(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(piVar28[1] + 0x80)" * (pointer_expression "*(undefined4 **)(piVar28[1] + 0x80)" * (cast_expression "(undefined4 **)(piVar28[1] + 0x80)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar28[1] + 0x80)" ( (binary_expression "piVar28[1] + 0x80" (subscript_expression "piVar28[1]" identifier [ number_literal ]) + number_literal) ))))))) )))) ;) (expression_statement "iVar29 = piVar28[1];" (assignment_expression "iVar29 = piVar28[1]" identifier = (subscript_expression "piVar28[1]" identifier [ number_literal ])) ;) (expression_statement "piVar28[3] = iVar19;" (assignment_expression "piVar28[3] = iVar19" (subscript_expression "piVar28[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar21 = **(int **)(iVar29 + 0x80);" (assignment_expression "iVar21 = **(int **)(iVar29 + 0x80)" identifier = (pointer_expression "**(int **)(iVar29 + 0x80)" * (pointer_expression "*(int **)(iVar29 + 0x80)" * (cast_expression "(int **)(iVar29 + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x80)" ( (binary_expression "iVar29 + 0x80" identifier + number_literal) )))))) ;) (do_statement "do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);" do (compound_statement "{\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    }" { (expression_statement "iVar15 = iVar21;" (assignment_expression "iVar15 = iVar21" identifier = identifier) ;) (expression_statement "iVar21 = *(int *)(iVar15 + 8);" (assignment_expression "iVar21 = *(int *)(iVar15 + 8)" identifier = (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) ;) (expression_statement "uVar8 = *(undefined4 *)(iVar15 + 4);" (assignment_expression "uVar8 = *(undefined4 *)(iVar15 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar15 + 4)" * (cast_expression "(undefined4 *)(iVar15 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 4)" ( (binary_expression "iVar15 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar36 = FUN_0001a520();" (assignment_expression "uVar36 = FUN_0001a520()" identifier = (call_expression "FUN_0001a520()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);" (assignment_expression "iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8)" identifier = (call_expression "FUN_00038ad0(iVar29,uVar36,uVar8)" identifier (argument_list "(iVar29,uVar36,uVar8)" ( identifier , identifier , identifier )))) ;) (expression_statement "piVar28[4] = iVar29;" (assignment_expression "piVar28[4] = iVar29" (subscript_expression "piVar28[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 = iVar19;" (assignment_expression "local_b0 = iVar19" identifier = identifier) ;) (expression_statement "FUN_000312d0(&local_b0,uVar6);" (call_expression "FUN_000312d0(&local_b0,uVar6)" identifier (argument_list "(&local_b0,uVar6)" ( (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 = iVar29;" (assignment_expression "local_b0 = iVar29" identifier = identifier) ;) (expression_statement "local_ac = iVar19;" (assignment_expression "local_ac = iVar19" identifier = identifier) ;) (expression_statement "FUN_000312d0(&local_b0,uVar6);" (call_expression "FUN_000312d0(&local_b0,uVar6)" identifier (argument_list "(&local_b0,uVar6)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) })) (expression_statement "iVar5 = FUN_00024a90(iVar5);" (assignment_expression "iVar5 = FUN_00024a90(iVar5)" identifier = (call_expression "FUN_00024a90(iVar5)" identifier (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "FUN_00043d50(iVar5,0,0,uVar6);" (call_expression "FUN_00043d50(iVar5,0,0,uVar6)" identifier (argument_list "(iVar5,0,0,uVar6)" ( identifier , number_literal , number_literal , identifier ))) ;) (expression_statement "FUN_00043d50(iVar5 + uVar6,0,0,uVar6);" (call_expression "FUN_00043d50(iVar5 + uVar6,0,0,uVar6)" identifier (argument_list "(iVar5 + uVar6,0,0,uVar6)" ( (binary_expression "iVar5 + uVar6" identifier + identifier) , number_literal , number_literal , identifier ))) ;) (expression_statement "FUN_0003b370(iVar11);" (call_expression "FUN_0003b370(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;) (expression_statement "FUN_00036710(uVar9,0);" (call_expression "FUN_00036710(uVar9,0)" identifier (argument_list "(uVar9,0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*DAT_0007775c == 0) {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }" if (parenthesized_expression "(*DAT_0007775c == 0)" ( (binary_expression "*DAT_0007775c == 0" (pointer_expression "*DAT_0007775c" * identifier) == number_literal) )) (compound_statement "{\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }" { (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }" else (compound_statement "{\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }" { (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "FUN_00036710(iVar10,0);" (call_expression "FUN_00036710(iVar10,0)" identifier (argument_list "(iVar10,0)" ( identifier , number_literal ))) ;) (expression_statement "uVar24 = FUN_00038b00();" (assignment_expression "uVar24 = FUN_00038b00()" identifier = (call_expression "FUN_00038b00()" identifier (argument_list "()" ( )))) ;) (if_statement "if (DAT_00077750 != 0) {\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }" if (parenthesized_expression "(DAT_00077750 != 0)" ( (binary_expression "DAT_00077750 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }" { (if_statement "if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }" if (parenthesized_expression "(*(int *)(DAT_00077754 + 0xc) != 0)" ( (binary_expression "*(int *)(DAT_00077754 + 0xc) != 0" (pointer_expression "*(int *)(DAT_00077754 + 0xc)" * (cast_expression "(int *)(DAT_00077754 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00077754 + 0xc)" ( (binary_expression "DAT_00077754 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }" { (expression_statement "pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));" (assignment_expression "pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4))" identifier = (cast_expression "(char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4))" identifier (argument_list "(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4))" ( (pointer_expression "*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4)" * (cast_expression "(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4)" ( (binary_expression "DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4" identifier + (binary_expression "*(int *)(DAT_00077754 + 0xc) * 4" (pointer_expression "*(int *)(DAT_00077754 + 0xc)" * (cast_expression "(int *)(DAT_00077754 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00077754 + 0xc)" ( (binary_expression "DAT_00077754 + 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_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a90(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_00077754 + 8));" (assignment_expression "sVar13 = strlen(*(char **)(DAT_00077754 + 8))" identifier = (call_expression "strlen(*(char **)(DAT_00077754 + 8))" identifier (argument_list "(*(char **)(DAT_00077754 + 8))" ( (pointer_expression "*(char **)(DAT_00077754 + 8)" * (cast_expression "(char **)(DAT_00077754 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00077754 + 8)" ( (binary_expression "DAT_00077754 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "pvVar14 = (void *)FUN_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a90(sVar13 + 1)" identifier (argument_list "(sVar13 + 1)" ( (binary_expression "sVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);" (call_expression "memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1)" identifier (argument_list "(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1)" ( identifier , (pointer_expression "*(void **)(DAT_00077754 + 8)" * (cast_expression "(void **)(DAT_00077754 + 8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00077754 + 8)" ( (binary_expression "DAT_00077754 + 8" identifier + number_literal) )))) , (binary_expression "sVar13 + 1" identifier + number_literal) ))) ;) (expression_statement "uVar6 = FUN_00038b00();" (assignment_expression "uVar6 = FUN_00038b00()" identifier = (call_expression "FUN_00038b00()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = getpwd();" (assignment_expression "uVar8 = getpwd()" identifier = (call_expression "getpwd()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar12 = (char *)FUN_00035180(uVar8);" (assignment_expression "pcVar12 = (char *)FUN_00035180(uVar8)" identifier = (cast_expression "(char *)FUN_00035180(uVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00035180(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_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" identifier = (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a90(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 "uVar17 = FUN_00038b00();" (assignment_expression "uVar17 = FUN_00038b00()" identifier = (call_expression "FUN_00038b00()" 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      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);" do (compound_statement "{\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    }" { (expression_statement "puVar22 = puVar20;" (assignment_expression "puVar22 = puVar20" identifier = identifier) ;) (expression_statement "uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;" (assignment_expression "uVar25 = *puVar22 + 0xfefefeff & ~*puVar22" identifier = (binary_expression "*puVar22 + 0xfefefeff & ~*puVar22" (binary_expression "*puVar22 + 0xfefefeff" (pointer_expression "*puVar22" * identifier) + number_literal) & (unary_expression "~*puVar22" ~ (pointer_expression "*puVar22" * identifier)))) ;) (expression_statement "uVar18 = uVar25 & 0x80808080;" (assignment_expression "uVar18 = uVar25 & 0x80808080" identifier = (binary_expression "uVar25 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = puVar22 + 1;" (assignment_expression "puVar20 = puVar22 + 1" identifier = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) ;) (expression_statement "bVar32 = (uVar25 & 0x8080) == 0;" (assignment_expression "bVar32 = (uVar25 & 0x8080) == 0" identifier = (binary_expression "(uVar25 & 0x8080) == 0" (parenthesized_expression "(uVar25 & 0x8080)" ( (binary_expression "uVar25 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }" if (parenthesized_expression "(bVar32)" ( identifier )) (compound_statement "{\n      uVar18 = uVar18 >> 0x10;\n    }" { (expression_statement "uVar18 = uVar18 >> 0x10;" (assignment_expression "uVar18 = uVar18 >> 0x10" identifier = (binary_expression "uVar18 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }" if (parenthesized_expression "(bVar32)" ( identifier )) (compound_statement "{\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }" { (expression_statement "puVar20 = (uint *)((int)puVar22 + 6);" (assignment_expression "puVar20 = (uint *)((int)puVar22 + 6)" identifier = (cast_expression "(uint *)((int)puVar22 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + 6)" ( (binary_expression "(int)puVar22 + 6" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;" (assignment_expression "uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2" identifier = (binary_expression "(int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2" (binary_expression "(int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18))" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18))" ( (binary_expression "-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)" (unary_expression "-(int)local_cc" - (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) - (cast_expression "(uint)CARRY1((byte)uVar18,(byte)uVar18)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar18,(byte)uVar18)" identifier (argument_list "((byte)uVar18,(byte)uVar18)" ( (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) + number_literal)) ;) (expression_statement "puVar20 = (uint *)FUN_00024a90(uVar18);" (assignment_expression "puVar20 = (uint *)FUN_00024a90(uVar18)" identifier = (cast_expression "(uint *)FUN_00024a90(uVar18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a90(uVar18)" identifier (argument_list "(uVar18)" ( identifier ))))) ;) (if_statement "if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }" if (parenthesized_expression "(uVar18 < 4)" ( (binary_expression "uVar18 < 4" identifier < number_literal) )) (compound_statement "{\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }" { (if_statement "if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }" if (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 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 ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }" if (parenthesized_expression "((uVar18 & 2) != 0)" ( (binary_expression "(uVar18 & 2) != 0" (parenthesized_expression "(uVar18 & 2)" ( (binary_expression "uVar18 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }" { (expression_statement "*(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);" (assignment_expression "*(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2)" (pointer_expression "*(undefined2 *)((int)puVar20 + (uVar18 - 2))" * (cast_expression "(undefined2 *)((int)puVar20 + (uVar18 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + (uVar18 - 2))" ( (binary_expression "(int)puVar20 + (uVar18 - 2)" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar18 - 2)" ( (binary_expression "uVar18 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(local_a0 + uVar18 + 2)" * (cast_expression "(undefined2 *)(local_a0 + uVar18 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a0 + uVar18 + 2)" ( (binary_expression "local_a0 + uVar18 + 2" (binary_expression "local_a0 + uVar18" identifier + identifier) + number_literal) ))))) ;) })) })) }) (else_clause "else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }" else (compound_statement "{\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -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 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);" (assignment_expression "*(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18)" (pointer_expression "*(undefined4 *)((int)puVar20 + (uVar18 - 4))" * (cast_expression "(undefined4 *)((int)puVar20 + (uVar18 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + (uVar18 - 4))" ( (binary_expression "(int)puVar20 + (uVar18 - 4)" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar18 - 4)" ( (binary_expression "uVar18 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(local_a0 + uVar18)" * (cast_expression "(undefined4 *)(local_a0 + uVar18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a0 + uVar18)" ( (binary_expression "local_a0 + uVar18" identifier + identifier) ))))) ;) (expression_statement "iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);" (assignment_expression "iVar5 = (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 - iVar5);" (assignment_expression "puVar26 = (undefined4 *)((int)local_cc - iVar5)" identifier = (cast_expression "(undefined4 *)((int)local_cc - iVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_cc - iVar5)" ( (binary_expression "(int)local_cc - iVar5" (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);" (assignment_expression "puVar30 = (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 (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }" for ( (assignment_expression "uVar18 = iVar5 + uVar18 >> 2" identifier = (binary_expression "iVar5 + uVar18 >> 2" (binary_expression "iVar5 + uVar18" identifier + identifier) >> number_literal)) ; (binary_expression "uVar18 != 0" identifier != number_literal) ; (assignment_expression "uVar18 = uVar18 - 1" identifier = (binary_expression "uVar18 - 1" identifier - number_literal)) ) (compound_statement "{\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }" { (expression_statement "*puVar30 = *puVar26;" (assignment_expression "*puVar30 = *puVar26" (pointer_expression "*puVar30" * identifier) = (pointer_expression "*puVar26" * identifier)) ;) (expression_statement "puVar26 = puVar26 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar26 = puVar26 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar26 + (uint)bVar34 * -2 + 1" (binary_expression "puVar26 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar30 = puVar30 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar30 = puVar30 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar30 + (uint)bVar34 * -2 + 1" (binary_expression "puVar30 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }))) (expression_statement "uVar8 = FUN_0001a440();" (assignment_expression "uVar8 = FUN_0001a440()" identifier = (call_expression "FUN_0001a440()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = local_b0;" (assignment_expression "iVar5 = local_b0" identifier = identifier) ;) (expression_statement "uVar16 = FUN_00024a90(2);" (assignment_expression "uVar16 = FUN_00024a90(2)" identifier = (call_expression "FUN_00024a90(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_00043d50(uVar16,2,0,2);" (call_expression "FUN_00043d50(uVar16,2,0,2)" identifier (argument_list "(uVar16,2,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_9c[0] = FUN_00036760(uVar9);" (assignment_expression "local_9c[0] = FUN_00036760(uVar9)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036760(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_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) (expression_statement "FUN_00024df0(DAT_00077734);" (call_expression "FUN_00024df0(DAT_00077734)" identifier (argument_list "(DAT_00077734)" ( identifier ))) ;) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_9c[0] = FUN_00036760(uVar7);" (assignment_expression "local_9c[0] = FUN_00036760(uVar7)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036760(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_000312d0(local_cc,4);" (call_expression "FUN_000312d0(local_cc,4)" identifier (argument_list "(local_cc,4)" ( identifier , number_literal ))) ;) (if_statement "if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }" if (parenthesized_expression "(*DAT_0007775c == 0)" ( (binary_expression "*DAT_0007775c == 0" (pointer_expression "*DAT_0007775c" * identifier) == number_literal) )) (compound_statement "{\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }" { (expression_statement "local_b0 = DAT_0007775c[3];" (assignment_expression "local_b0 = DAT_0007775c[3]" identifier = (subscript_expression "DAT_0007775c[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_000312d0(&local_b0,DAT_00077734);" (call_expression "FUN_000312d0(&local_b0,DAT_00077734)" identifier (argument_list "(&local_b0,DAT_00077734)" ( (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_0007775c[4];" (assignment_expression "local_b0 = DAT_0007775c[4]" identifier = (subscript_expression "DAT_0007775c[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_000312d0(&local_b0,DAT_00077734);" (call_expression "FUN_000312d0(&local_b0,DAT_00077734)" identifier (argument_list "(&local_b0,DAT_00077734)" ( (pointer_expression "&local_b0" & identifier) , identifier ))) ;) }) (else_clause "else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }" else (compound_statement "{\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }" { (expression_statement "local_9c[0] = FUN_00036760(local_ec);" (assignment_expression "local_9c[0] = FUN_00036760(local_ec)" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = (call_expression "FUN_00036760(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_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(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] = uVar24;" (assignment_expression "local_9c[0] = uVar24" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(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] = uVar6;" (assignment_expression "local_9c[0] = uVar6" (subscript_expression "local_9c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(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_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(local_cc,uVar8)" identifier (argument_list "(local_cc,uVar8)" ( identifier , identifier ))) ;) (expression_statement "uVar7 = FUN_00024a90(2);" (assignment_expression "uVar7 = FUN_00024a90(2)" identifier = (call_expression "FUN_00024a90(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "FUN_00043d50(uVar7,0x8001,0,2);" (call_expression "FUN_00043d50(uVar7,0x8001,0,2)" identifier (argument_list "(uVar7,0x8001,0,2)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "FUN_0003b370(iVar5);" (call_expression "FUN_0003b370(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);" (call_expression "FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6)" identifier (argument_list "("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6)" ( (string_literal ""../../gas/dwarf2dbg.c"" " string_content ") , number_literal , (string_literal ""out_debug_str"" " string_content ") , (binary_expression "iVar5 + uVar6" 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 (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 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration 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 ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> 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 ))) ;) (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 = (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 (assignment_expression IDENT = LIT) ;) (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 ))) ;) (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_0001bfd0(void)\n\n{\n  int *piVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined1 auVar4 [4];\n  int iVar5;\n  uint uVar6;\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  int iVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  uint *puVar22;\n  byte *pbVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  byte *pbVar27;\n  int *piVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  bool bVar31;\n  bool bVar32;\n  bool bVar33;\n  byte bVar34;\n  longlong lVar35;\n  undefined8 uVar36;\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  bVar34 = 0;\n  uStack_14 = 0x1bfdb;\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");\n  bVar32 = true;\n  if (iVar5 != 0) {\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");\n  if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002bdd0("duplicate .debug_line sections");\n  }\n  if ((DAT_0007775c == (int *)0x0) && (bVar32)) {\n    return;\n  }\n  uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);\n  DAT_00077734 = uVar6 >> 3;\n  uVar7 = FUN_000366b0(".debug_line",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }\n  uVar8 = FUN_0001a440();\n  iVar5 = local_b0;\n  uVar9 = FUN_00024a90(2);\n  FUN_00043d50(uVar9,2,0,2);\n  iVar10 = FUN_00038ab0();\n  iVar11 = FUN_00038ab0();\n  local_a0[0] = 0x14;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_000312d0(&local_b0,uVar8);\n  FUN_0003b370(iVar10);\n  uVar6 = 1;\n  FUN_00024df0(DAT_00078070);\n  FUN_00024df0(1);\n  FUN_00024df0(0xfffffffb);\n  FUN_00024df0(0xe);\n  FUN_00024df0(0xd);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  if (1 < DAT_00077744) {\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }\n  uVar6 = 1;\n  FUN_00024df0(0);\n  if (1 < DAT_00077750) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }\nLAB_0001c398:\n  FUN_00024df0(0);\n  FUN_0003b370(iVar11);\n  puVar3 = PTR__bfd_std_section_0006efb4;\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }\n  if (DAT_00077d94 != 0) {\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }\n  FUN_0003b370(iVar5);\n  if (!bVar32) {\n    return;\n  }\n  if (DAT_0007775c == (int *)0x0) {\n                    \n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_000366b0(".debug_info",0);\n  uVar9 = FUN_000366b0(".debug_abbrev",0);\n  uVar16 = FUN_000366b0(".debug_aranges",0);\n  iVar10 = FUN_000366b0(".debug_str",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);\n  uVar6 = DAT_00077734;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar6 = uVar6 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(uVar16,iVar5);\n  local_ec = *DAT_0007775c;\n  if (local_ec == 0) goto LAB_0001caf4;\n  local_ec = FUN_000366b0(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);\n  uVar6 = DAT_00077734 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(local_ec,iVar5);\n  uVar6 = DAT_00077734;\n  FUN_00036710(local_ec,0);\n  if (uVar6 == 0) {\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\nLAB_0001caf4:\n  uVar6 = DAT_00077734;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a440();\n  auVar4 = local_a4;\n  uVar24 = local_a8;\n  iVar11 = local_b0;\n  uVar16 = FUN_00024a90(2);\n  FUN_00043d50(uVar16,2,0,2);\n  local_9c[0] = FUN_00036760(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_000312d0(local_cc,uVar17);\n  uVar25 = 2 - uVar24;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024df0(uVar6);\n  FUN_00024df0(0);\n  uVar24 = uVar18 + 3;\n  iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar5 = uVar6 * 2;\n  uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);\n  piVar28 = DAT_0007775c;\n  if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }\n  for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }\n  iVar5 = FUN_00024a90(iVar5);\n  FUN_00043d50(iVar5,0,0,uVar6);\n  FUN_00043d50(iVar5 + uVar6,0,0,uVar6);\n  FUN_0003b370(iVar11);\n  FUN_00036710(uVar9,0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  if (*DAT_0007775c == 0) {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_00036710(iVar10,0);\n  uVar24 = FUN_00038b00();\n  if (DAT_00077750 != 0) {\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }\n                    \n  FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);\n}" (primitive_type "void") (function_declarator "FUN_0001bfd0(void)" (identifier "FUN_0001bfd0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int *piVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined1 auVar4 [4];\n  int iVar5;\n  uint uVar6;\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  int iVar19;\n  uint *puVar20;\n  undefined4 extraout_ECX;\n  int iVar21;\n  uint *puVar22;\n  byte *pbVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  byte *pbVar27;\n  int *piVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  bool bVar31;\n  bool bVar32;\n  bool bVar33;\n  byte bVar34;\n  longlong lVar35;\n  undefined8 uVar36;\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  bVar34 = 0;\n  uStack_14 = 0x1bfdb;\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");\n  bVar32 = true;\n  if (iVar5 != 0) {\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }\n  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");\n  if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002bdd0("duplicate .debug_line sections");\n  }\n  if ((DAT_0007775c == (int *)0x0) && (bVar32)) {\n    return;\n  }\n  uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);\n  DAT_00077734 = uVar6 >> 3;\n  uVar7 = FUN_000366b0(".debug_line",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }\n  uVar8 = FUN_0001a440();\n  iVar5 = local_b0;\n  uVar9 = FUN_00024a90(2);\n  FUN_00043d50(uVar9,2,0,2);\n  iVar10 = FUN_00038ab0();\n  iVar11 = FUN_00038ab0();\n  local_a0[0] = 0x14;\n  local_a8 = 0;\n  local_a4 = (undefined1  [4])0x0;\n  local_b0 = iVar11;\n  local_ac = iVar10;\n  FUN_000312d0(&local_b0,uVar8);\n  FUN_0003b370(iVar10);\n  uVar6 = 1;\n  FUN_00024df0(DAT_00078070);\n  FUN_00024df0(1);\n  FUN_00024df0(0xfffffffb);\n  FUN_00024df0(0xe);\n  FUN_00024df0(0xd);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  FUN_00024df0(0);\n  FUN_00024df0(0);\n  FUN_00024df0(1);\n  if (1 < DAT_00077744) {\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }\n  uVar6 = 1;\n  FUN_00024df0(0);\n  if (1 < DAT_00077750) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }\nLAB_0001c398:\n  FUN_00024df0(0);\n  FUN_0003b370(iVar11);\n  puVar3 = PTR__bfd_std_section_0006efb4;\n  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }\n  if (DAT_00077d94 != 0) {\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }\n  FUN_0003b370(iVar5);\n  if (!bVar32) {\n    return;\n  }\n  if (DAT_0007775c == (int *)0x0) {\n                    \n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }\n  uVar8 = FUN_000366b0(".debug_info",0);\n  uVar9 = FUN_000366b0(".debug_abbrev",0);\n  uVar16 = FUN_000366b0(".debug_aranges",0);\n  iVar10 = FUN_000366b0(".debug_str",0);\n  bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);\n  bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);\n  uVar6 = DAT_00077734;\n  *(undefined4 *)(iVar10 + 0x90) = 1;\n  uVar6 = uVar6 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(uVar16,iVar5);\n  local_ec = *DAT_0007775c;\n  if (local_ec == 0) goto LAB_0001caf4;\n  local_ec = FUN_000366b0(".debug_ranges",0);\n  bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);\n  uVar6 = DAT_00077734 * 2;\n  iVar5 = 0;\n  if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }\n  if (uVar6 == 0) {\n    iVar5 = -1;\n  }\n  FUN_0003f050(local_ec,iVar5);\n  uVar6 = DAT_00077734;\n  FUN_00036710(local_ec,0);\n  if (uVar6 == 0) {\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\n  uVar24 = 0;\n  do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);\nLAB_0001caf4:\n  uVar6 = DAT_00077734;\n  local_cc = local_9c;\n  uVar17 = FUN_0001a440();\n  auVar4 = local_a4;\n  uVar24 = local_a8;\n  iVar11 = local_b0;\n  uVar16 = FUN_00024a90(2);\n  FUN_00043d50(uVar16,2,0,2);\n  local_9c[0] = FUN_00036760(uVar8);\n  local_8c = 3;\n  local_9c[2] = 0;\n  local_9c[3] = 0;\n  FUN_000312d0(local_cc,uVar17);\n  uVar25 = 2 - uVar24;\n  uVar18 = uVar17 + uVar25;\n  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)\n  ;\n  FUN_00024df0(uVar6);\n  FUN_00024df0(0);\n  uVar24 = uVar18 + 3;\n  iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);\n  iVar5 = uVar6 * 2;\n  uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);\n  piVar28 = DAT_0007775c;\n  if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }\n  for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }\n  iVar5 = FUN_00024a90(iVar5);\n  FUN_00043d50(iVar5,0,0,uVar6);\n  FUN_00043d50(iVar5 + uVar6,0,0,uVar6);\n  FUN_0003b370(iVar11);\n  FUN_00036710(uVar9,0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  if (*DAT_0007775c == 0) {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_0001a4e0();\n  FUN_00024df0(0);\n  FUN_00036710(iVar10,0);\n  uVar24 = FUN_00038b00();\n  if (DAT_00077750 != 0) {\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }\n                    \n  FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "longlong lVar2;" (type_identifier "longlong") (identifier "lVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined1 auVar4 [4];" (type_identifier "undefined1") (array_declarator "auVar4 [4]" (identifier "auVar4") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (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 "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (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 "uint *puVar22;" (type_identifier "uint") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "byte *pbVar23;" (type_identifier "byte") (pointer_declarator "*pbVar23" (* "*") (identifier "pbVar23")) (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "uint uVar25;" (type_identifier "uint") (identifier "uVar25") (; ";")) (declaration "undefined4 *puVar26;" (type_identifier "undefined4") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "byte *pbVar27;" (type_identifier "byte") (pointer_declarator "*pbVar27" (* "*") (identifier "pbVar27")) (; ";")) (declaration "int *piVar28;" (primitive_type "int") (pointer_declarator "*piVar28" (* "*") (identifier "piVar28")) (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "undefined4 *puVar30;" (type_identifier "undefined4") (pointer_declarator "*puVar30" (* "*") (identifier "puVar30")) (; ";")) (declaration "bool bVar31;" (primitive_type "bool") (identifier "bVar31") (; ";")) (declaration "bool bVar32;" (primitive_type "bool") (identifier "bVar32") (; ";")) (declaration "bool bVar33;" (primitive_type "bool") (identifier "bVar33") (; ";")) (declaration "byte bVar34;" (type_identifier "byte") (identifier "bVar34") (; ";")) (declaration "longlong lVar35;" (type_identifier "longlong") (identifier "lVar35") (; ";")) (declaration "undefined8 uVar36;" (type_identifier "undefined8") (identifier "uVar36") (; ";")) (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 "bVar34 = 0;" (assignment_expression "bVar34 = 0" (identifier "bVar34") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x1bfdb;" (assignment_expression "uStack_14 = 0x1bfdb" (identifier "uStack_14") (= "=") (number_literal "0x1bfdb")) (; ";")) (expression_statement "iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");" (assignment_expression "iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info")" (identifier "iVar5") (= "=") (call_expression "bfd_get_section_by_name(DAT_00077ec4,".debug_info")" (identifier "bfd_get_section_by_name") (argument_list "(DAT_00077ec4,".debug_info")" (( "(") (identifier "DAT_00077ec4") (, ",") (string_literal "".debug_info"" (" """) (string_content ".debug_info") (" """)) () ")")))) (; ";")) (expression_statement "bVar32 = true;" (assignment_expression "bVar32 = true" (identifier "bVar32") (= "=") (true "true")) (; ";")) (if_statement "if (iVar5 != 0) {\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar5 = FUN_000368e0(iVar5);\n    bVar32 = iVar5 == 0;\n  }" ({ "{") (expression_statement "iVar5 = FUN_000368e0(iVar5);" (assignment_expression "iVar5 = FUN_000368e0(iVar5)" (identifier "iVar5") (= "=") (call_expression "FUN_000368e0(iVar5)" (identifier "FUN_000368e0") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (expression_statement "bVar32 = iVar5 == 0;" (assignment_expression "bVar32 = iVar5 == 0" (identifier "bVar32") (= "=") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0"))) (; ";")) (} "}"))) (expression_statement "iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");" (assignment_expression "iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line")" (identifier "iVar5") (= "=") (call_expression "bfd_get_section_by_name(DAT_00077ec4,".debug_line")" (identifier "bfd_get_section_by_name") (argument_list "(DAT_00077ec4,".debug_line")" (( "(") (identifier "DAT_00077ec4") (, ",") (string_literal "".debug_line"" (" """) (string_content ".debug_line") (" """)) () ")")))) (; ";")) (if_statement "if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002bdd0("duplicate .debug_line sections");\n  }" (if "if") (parenthesized_expression "((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0))" (( "(") (binary_expression "(iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)" (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = FUN_000368e0(iVar5), iVar5 != 0)" (( "(") (comma_expression "iVar5 = FUN_000368e0(iVar5), iVar5 != 0" (assignment_expression "iVar5 = FUN_000368e0(iVar5)" (identifier "iVar5") (= "=") (call_expression "FUN_000368e0(iVar5)" (identifier "FUN_000368e0") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (, ",") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    if (DAT_0007775c == (int *)0x0) {\n      return;\n    }\n                    \n    FUN_0002bdd0("duplicate .debug_line sections");\n  }" ({ "{") (if_statement "if (DAT_0007775c == (int *)0x0) {\n      return;\n    }" (if "if") (parenthesized_expression "(DAT_0007775c == (int *)0x0)" (( "(") (binary_expression "DAT_0007775c == (int *)0x0" (identifier "DAT_0007775c") (== "==") (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_0002bdd0("duplicate .debug_line sections");" (call_expression "FUN_0002bdd0("duplicate .debug_line sections")" (identifier "FUN_0002bdd0") (argument_list "("duplicate .debug_line sections")" (( "(") (string_literal ""duplicate .debug_line sections"" (" """) (string_content "duplicate .debug_line sections") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((DAT_0007775c == (int *)0x0) && (bVar32)) {\n    return;\n  }" (if "if") (parenthesized_expression "((DAT_0007775c == (int *)0x0) && (bVar32))" (( "(") (binary_expression "(DAT_0007775c == (int *)0x0) && (bVar32)" (parenthesized_expression "(DAT_0007775c == (int *)0x0)" (( "(") (binary_expression "DAT_0007775c == (int *)0x0" (identifier "DAT_0007775c") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(bVar32)" (( "(") (identifier "bVar32") () ")"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);" (assignment_expression "uVar6 = bfd_arch_bits_per_address(DAT_00077ec4)" (identifier "uVar6") (= "=") (call_expression "bfd_arch_bits_per_address(DAT_00077ec4)" (identifier "bfd_arch_bits_per_address") (argument_list "(DAT_00077ec4)" (( "(") (identifier "DAT_00077ec4") () ")")))) (; ";")) (expression_statement "DAT_00077734 = uVar6 >> 3;" (assignment_expression "DAT_00077734 = uVar6 >> 3" (identifier "DAT_00077734") (= "=") (binary_expression "uVar6 >> 3" (identifier "uVar6") (>> ">>") (number_literal "3"))) (; ";")) (expression_statement "uVar7 = FUN_000366b0(".debug_line",0);" (assignment_expression "uVar7 = FUN_000366b0(".debug_line",0)" (identifier "uVar7") (= "=") (call_expression "FUN_000366b0(".debug_line",0)" (identifier "FUN_000366b0") (argument_list "(".debug_line",0)" (( "(") (string_literal "".debug_line"" (" """) (string_content ".debug_line") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008)" (identifier "bfd_set_section_flags") (argument_list "(DAT_00077ec4,uVar7,0x2008)" (( "(") (identifier "DAT_00077ec4") (, ",") (identifier "uVar7") (, ",") (number_literal "0x2008") () ")"))) (; ";")) (for_statement "for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }" (for "for") (( "(") (assignment_expression "piVar28 = DAT_0007775c" (identifier "piVar28") (= "=") (identifier "DAT_0007775c")) (; ";") (binary_expression "piVar28 != (int *)0x0" (identifier "piVar28") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "piVar28 = (int *)*piVar28" (identifier "piVar28") (= "=") (cast_expression "(int *)*piVar28" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar28" (* "*") (identifier "piVar28")))) () ")") (compound_statement "{\n    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];\n    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }\n  }" ({ "{") (expression_statement "puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];" (assignment_expression "puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3]" (identifier "puVar26") (= "=") (cast_expression "(undefined4 *)((undefined4 *)piVar28[2])[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "((undefined4 *)piVar28[2])[3]" (parenthesized_expression "((undefined4 *)piVar28[2])" (( "(") (cast_expression "(undefined4 *)piVar28[2]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar28[2]" (identifier "piVar28") ([ "[") (number_literal "2") (] "]"))) () ")")) ([ "[") (number_literal "3") (] "]")))) (; ";")) (for_statement "for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;\n        puVar30 = (undefined4 *)*puVar30) {\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }" (for "for") (( "(") (assignment_expression "puVar30 = *(undefined4 **)piVar28[2]" (identifier "puVar30") (= "=") (pointer_expression "*(undefined4 **)piVar28[2]" (* "*") (cast_expression "(undefined4 **)piVar28[2]" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "piVar28[2]" (identifier "piVar28") ([ "[") (number_literal "2") (] "]"))))) (; ";") (binary_expression "puVar30 != (undefined4 *)0x0" (identifier "puVar30") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar30 = (undefined4 *)*puVar30" (identifier "puVar30") (= "=") (cast_expression "(undefined4 *)*puVar30" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar30" (* "*") (identifier "puVar30")))) () ")") (compound_statement "{\n      *puVar26 = puVar30[2];\n      puVar26 = (undefined4 *)puVar30[3];\n    }" ({ "{") (expression_statement "*puVar26 = puVar30[2];" (assignment_expression "*puVar26 = puVar30[2]" (pointer_expression "*puVar26" (* "*") (identifier "puVar26")) (= "=") (subscript_expression "puVar30[2]" (identifier "puVar30") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "puVar26 = (undefined4 *)puVar30[3];" (assignment_expression "puVar26 = (undefined4 *)puVar30[3]" (identifier "puVar26") (= "=") (cast_expression "(undefined4 *)puVar30[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[3]" (identifier "puVar30") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar8 = FUN_0001a440();" (assignment_expression "uVar8 = FUN_0001a440()" (identifier "uVar8") (= "=") (call_expression "FUN_0001a440()" (identifier "FUN_0001a440") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar5 = local_b0;" (assignment_expression "iVar5 = local_b0" (identifier "iVar5") (= "=") (identifier "local_b0")) (; ";")) (expression_statement "uVar9 = FUN_00024a90(2);" (assignment_expression "uVar9 = FUN_00024a90(2)" (identifier "uVar9") (= "=") (call_expression "FUN_00024a90(2)" (identifier "FUN_00024a90") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (; ";")) (expression_statement "FUN_00043d50(uVar9,2,0,2);" (call_expression "FUN_00043d50(uVar9,2,0,2)" (identifier "FUN_00043d50") (argument_list "(uVar9,2,0,2)" (( "(") (identifier "uVar9") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "iVar10 = FUN_00038ab0();" (assignment_expression "iVar10 = FUN_00038ab0()" (identifier "iVar10") (= "=") (call_expression "FUN_00038ab0()" (identifier "FUN_00038ab0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar11 = FUN_00038ab0();" (assignment_expression "iVar11 = FUN_00038ab0()" (identifier "iVar11") (= "=") (call_expression "FUN_00038ab0()" (identifier "FUN_00038ab0") (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 "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_000312d0(&local_b0,uVar8);" (call_expression "FUN_000312d0(&local_b0,uVar8)" (identifier "FUN_000312d0") (argument_list "(&local_b0,uVar8)" (( "(") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "FUN_0003b370(iVar10);" (call_expression "FUN_0003b370(iVar10)" (identifier "FUN_0003b370") (argument_list "(iVar10)" (( "(") (identifier "iVar10") () ")"))) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00024df0(DAT_00078070);" (call_expression "FUN_00024df0(DAT_00078070)" (identifier "FUN_00024df0") (argument_list "(DAT_00078070)" (( "(") (identifier "DAT_00078070") () ")"))) (; ";")) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" (identifier "FUN_00024df0") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024df0(0xfffffffb);" (call_expression "FUN_00024df0(0xfffffffb)" (identifier "FUN_00024df0") (argument_list "(0xfffffffb)" (( "(") (number_literal "0xfffffffb") () ")"))) (; ";")) (expression_statement "FUN_00024df0(0xe);" (call_expression "FUN_00024df0(0xe)" (identifier "FUN_00024df0") (argument_list "(0xe)" (( "(") (number_literal "0xe") () ")"))) (; ";")) (expression_statement "FUN_00024df0(0xd);" (call_expression "FUN_00024df0(0xd)" (identifier "FUN_00024df0") (argument_list "(0xd)" (( "(") (number_literal "0xd") () ")"))) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" (identifier "FUN_00024df0") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" (identifier "FUN_00024df0") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" (identifier "FUN_00024df0") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" (identifier "FUN_00024df0") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" (identifier "FUN_00024df0") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00024df0(1);" (call_expression "FUN_00024df0(1)" (identifier "FUN_00024df0") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (if_statement "if (1 < DAT_00077744) {\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }" (if "if") (parenthesized_expression "(1 < DAT_00077744)" (( "(") (binary_expression "1 < DAT_00077744" (number_literal "1") (< "<") (identifier "DAT_00077744")) () ")")) (compound_statement "{\n    do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);\n  }" ({ "{") (do_statement "do {\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    } while (uVar6 < DAT_00077744);" (do "do") (compound_statement "{\n      iVar10 = uVar6 * 4;\n      uVar6 = uVar6 + 1;\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13 + 1);\n    }" ({ "{") (expression_statement "iVar10 = uVar6 * 4;" (assignment_expression "iVar10 = uVar6 * 4" (identifier "iVar10") (= "=") (binary_expression "uVar6 * 4" (identifier "uVar6") (* "*") (number_literal "4"))) (; ";")) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" (identifier "uVar6") (= "=") (binary_expression "uVar6 + 1" (identifier "uVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));" (assignment_expression "pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10))" (identifier "pcVar12") (= "=") (cast_expression "(char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10))" (identifier "FUN_00035180") (argument_list "(*(undefined4 *)(DAT_00077748 + iVar10))" (( "(") (pointer_expression "*(undefined4 *)(DAT_00077748 + iVar10)" (* "*") (cast_expression "(undefined4 *)(DAT_00077748 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00077748 + iVar10)" (( "(") (binary_expression "DAT_00077748 + iVar10" (identifier "DAT_00077748") (+ "+") (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_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" (identifier "pvVar14") (= "=") (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024a90(sVar13 + 1)" (identifier "FUN_00024a90") (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 "(uVar6 < DAT_00077744)" (( "(") (binary_expression "uVar6 < DAT_00077744" (identifier "uVar6") (< "<") (identifier "DAT_00077744")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (if_statement "if (1 < DAT_00077750) {\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }" (if "if") (parenthesized_expression "(1 < DAT_00077750)" (( "(") (binary_expression "1 < DAT_00077750" (number_literal "1") (< "<") (identifier "DAT_00077750")) () ")")) (compound_statement "{\n    do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);\n  }" ({ "{") (do_statement "do {\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    } while (uVar6 < DAT_00077750);" (do "do") (compound_statement "{\n      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }\n      uVar8 = dcgettext(0,"unassigned file number %ld",5);\n      FUN_0002bd30(uVar8,uVar6);\n      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;\n      uVar6 = uVar6 + 1;\n    }" ({ "{") (while_statement "while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {\n        sVar13 = strlen(pcVar12);\n        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\n      }" (while "while") (parenthesized_expression "(pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0)" (( "(") (comma_expression "pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0" (assignment_expression "pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8)" (identifier "pcVar12") (= "=") (pointer_expression "*(char **)(DAT_00077754 + uVar6 * 8)" (* "*") (cast_expression "(char **)(DAT_00077754 + uVar6 * 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_00077754 + uVar6 * 8)" (( "(") (binary_expression "DAT_00077754 + uVar6 * 8" (identifier "DAT_00077754") (+ "+") (binary_expression "uVar6 * 8" (identifier "uVar6") (* "*") (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_00024a90(sVar13 + 1);\n        memcpy(pvVar14,pcVar12,sVar13 + 1);\n        uVar6 = uVar6 + 1;\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        FUN_0001a4e0();\n        if (DAT_00077750 <= uVar6) goto LAB_0001c398;\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_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" (identifier "pvVar14") (= "=") (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024a90(sVar13 + 1)" (identifier "FUN_00024a90") (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 "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" (identifier "uVar6") (= "=") (binary_expression "uVar6 + 1" (identifier "uVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (DAT_00077750 <= uVar6) goto LAB_0001c398;" (if "if") (parenthesized_expression "(DAT_00077750 <= uVar6)" (( "(") (binary_expression "DAT_00077750 <= uVar6" (identifier "DAT_00077750") (<= "<=") (identifier "uVar6")) () ")")) (goto_statement "goto LAB_0001c398;" (goto "goto") (statement_identifier "LAB_0001c398") (; ";"))) (} "}"))) (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_0002bd30(uVar8,uVar6);" (call_expression "FUN_0002bd30(uVar8,uVar6)" (identifier "FUN_0002bd30") (argument_list "(uVar8,uVar6)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "*(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;" (assignment_expression "*(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45" (pointer_expression "*(undefined **)(DAT_00077754 + uVar6 * 8)" (* "*") (cast_expression "(undefined **)(DAT_00077754 + uVar6 * 8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_00077754 + uVar6 * 8)" (( "(") (binary_expression "DAT_00077754 + uVar6 * 8" (identifier "DAT_00077754") (+ "+") (binary_expression "uVar6 * 8" (identifier "uVar6") (* "*") (number_literal "8"))) () ")")))) (= "=") (pointer_expression "&DAT_00050b45" (& "&") (identifier "DAT_00050b45"))) (; ";")) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" (identifier "uVar6") (= "=") (binary_expression "uVar6 + 1" (identifier "uVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar6 < DAT_00077750)" (( "(") (binary_expression "uVar6 < DAT_00077750" (identifier "uVar6") (< "<") (identifier "DAT_00077750")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0001c398:\n  FUN_00024df0(0);" (statement_identifier "LAB_0001c398") (: ":") (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";"))) (expression_statement "FUN_0003b370(iVar11);" (call_expression "FUN_0003b370(iVar11)" (identifier "FUN_0003b370") (argument_list "(iVar11)" (( "(") (identifier "iVar11") () ")"))) (; ";")) (expression_statement "puVar3 = PTR__bfd_std_section_0006efb4;" (assignment_expression "puVar3 = PTR__bfd_std_section_0006efb4" (identifier "puVar3") (= "=") (identifier "PTR__bfd_std_section_0006efb4")) (; ";")) (for_statement "for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }" (for "for") (( "(") (assignment_expression "piVar28 = DAT_0007775c" (identifier "piVar28") (= "=") (identifier "DAT_0007775c")) (; ";") (binary_expression "piVar28 != (int *)0x0" (identifier "piVar28") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "piVar28 = (int *)*piVar28" (identifier "piVar28") (= "=") (cast_expression "(int *)*piVar28" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar28" (* "*") (identifier "piVar28")))) () ")") (compound_statement "{\n    puVar26 = (undefined4 *)piVar28[1];\n    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }\n  }" ({ "{") (expression_statement "puVar26 = (undefined4 *)piVar28[1];" (assignment_expression "puVar26 = (undefined4 *)piVar28[1]" (identifier "puVar26") (= "=") (cast_expression "(undefined4 *)piVar28[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar28[1]" (identifier "piVar28") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }\n    else {\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }" (if "if") (parenthesized_expression "((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0))" (( "(") (binary_expression "(((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)" (parenthesized_expression "(((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90))" (( "(") (binary_expression "((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))\n        || (puVar26 == DAT_00077d90)" (parenthesized_expression "((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))" (( "(") (binary_expression "(puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180))" (parenthesized_expression "(puVar26 == (undefined4 *)(puVar3 + 0xc0))" (( "(") (binary_expression "puVar26 == (undefined4 *)(puVar3 + 0xc0)" (identifier "puVar26") (== "==") (cast_expression "(undefined4 *)(puVar3 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0xc0)" (( "(") (binary_expression "puVar3 + 0xc0" (identifier "puVar3") (+ "+") (number_literal "0xc0")) () ")")))) () ")")) (|| "||") (parenthesized_expression "(puVar26 == (undefined4 *)(puVar3 + 0x180))" (( "(") (binary_expression "puVar26 == (undefined4 *)(puVar3 + 0x180)" (identifier "puVar26") (== "==") (cast_expression "(undefined4 *)(puVar3 + 0x180)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x180)" (( "(") (binary_expression "puVar3 + 0x180" (identifier "puVar3") (+ "+") (number_literal "0x180")) () ")")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(puVar26 == DAT_00077d90)" (( "(") (binary_expression "puVar26 == DAT_00077d90" (identifier "puVar26") (== "==") (identifier "DAT_00077d90")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(puVar26 == DAT_00077ce0)" (( "(") (binary_expression "puVar26 == DAT_00077ce0" (identifier "puVar26") (== "==") (identifier "DAT_00077ce0")) () ")"))) () ")")) (compound_statement "{\n      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);\n    }" ({ "{") (expression_statement "FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);" (call_expression "FUN_0002bc50("dwarf line number information for %s ignored",*puVar26)" (identifier "FUN_0002bc50") (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 **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }" (else "else") (compound_statement "{\n      local_c4 = *(int **)(piVar28[2] + 8);\n      bVar31 = false;\n      bVar33 = DAT_00077d94 == 0;\n      if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }\n      local_d0 = 0;\n      local_100 = 1;\n      local_e8 = 1;\n      iVar10 = 0;\n      iVar11 = 0;\n      lVar2 = 0;\n      do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\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      uVar36 = FUN_0001a520();\n      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }\n    }" ({ "{") (expression_statement "local_c4 = *(int **)(piVar28[2] + 8);" (assignment_expression "local_c4 = *(int **)(piVar28[2] + 8)" (identifier "local_c4") (= "=") (pointer_expression "*(int **)(piVar28[2] + 8)" (* "*") (cast_expression "(int **)(piVar28[2] + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar28[2] + 8)" (( "(") (binary_expression "piVar28[2] + 8" (subscript_expression "piVar28[2]" (identifier "piVar28") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" (identifier "bVar31") (= "=") (false "false")) (; ";")) (expression_statement "bVar33 = DAT_00077d94 == 0;" (assignment_expression "bVar33 = DAT_00077d94 == 0" (identifier "bVar33") (= "=") (binary_expression "DAT_00077d94 == 0" (identifier "DAT_00077d94") (== "==") (number_literal "0"))) (; ";")) (if_statement "if (!bVar33) {\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }" (if "if") (parenthesized_expression "(!bVar33)" (( "(") (unary_expression "!bVar33" (! "!") (identifier "bVar33")) () ")")) (compound_statement "{\n        iVar10 = 6;\n        pbVar23 = (byte *)*puVar26;\n        pbVar27 = (byte *)".text";\n        do {\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);\n        pcVar12 = ".debug_line";\n        if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }\n        uVar8 = FUN_000365f0(pcVar12,0);\n        FUN_00036710(uVar8,0);\n      }" ({ "{") (expression_statement "iVar10 = 6;" (assignment_expression "iVar10 = 6" (identifier "iVar10") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar23 = (byte *)*puVar26;" (assignment_expression "pbVar23 = (byte *)*puVar26" (identifier "pbVar23") (= "=") (cast_expression "(byte *)*puVar26" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar26" (* "*") (identifier "puVar26")))) (; ";")) (expression_statement "pbVar27 = (byte *)".text";" (assignment_expression "pbVar27 = (byte *)".text"" (identifier "pbVar27") (= "=") (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          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;\n        } while (bVar33);" (do "do") (compound_statement "{\n          if (iVar10 == 0) break;\n          iVar10 = iVar10 + -1;\n          bVar31 = *pbVar23 < *pbVar27;\n          bVar33 = *pbVar23 == *pbVar27;\n          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;\n          pbVar27 = pbVar27 + (uint)bVar34 * -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 "bVar31 = *pbVar23 < *pbVar27;" (assignment_expression "bVar31 = *pbVar23 < *pbVar27" (identifier "bVar31") (= "=") (binary_expression "*pbVar23 < *pbVar27" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (< "<") (pointer_expression "*pbVar27" (* "*") (identifier "pbVar27")))) (; ";")) (expression_statement "bVar33 = *pbVar23 == *pbVar27;" (assignment_expression "bVar33 = *pbVar23 == *pbVar27" (identifier "bVar33") (= "=") (binary_expression "*pbVar23 == *pbVar27" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (== "==") (pointer_expression "*pbVar27" (* "*") (identifier "pbVar27")))) (; ";")) (expression_statement "pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1" (identifier "pbVar23") (= "=") (binary_expression "pbVar23 + (uint)bVar34 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar34 * -2" (identifier "pbVar23") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;" (assignment_expression "pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1" (identifier "pbVar27") (= "=") (binary_expression "pbVar27 + (uint)bVar34 * -2 + 1" (binary_expression "pbVar27 + (uint)bVar34 * -2" (identifier "pbVar27") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar33)" (( "(") (identifier "bVar33") () ")")) (; ";")) (expression_statement "pcVar12 = ".debug_line";" (assignment_expression "pcVar12 = ".debug_line"" (identifier "pcVar12") (= "=") (string_literal "".debug_line"" (" """) (string_content ".debug_line") (" """))) (; ";")) (if_statement "if ((!bVar31 && !bVar33) != bVar31) {\n          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);\n        }" (if "if") (parenthesized_expression "((!bVar31 && !bVar33) != bVar31)" (( "(") (binary_expression "(!bVar31 && !bVar33) != bVar31" (parenthesized_expression "(!bVar31 && !bVar33)" (( "(") (binary_expression "!bVar31 && !bVar33" (unary_expression "!bVar31" (! "!") (identifier "bVar31")) (&& "&&") (unary_expression "!bVar33" (! "!") (identifier "bVar33"))) () ")")) (!= "!=") (identifier "bVar31")) () ")")) (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_000365f0(pcVar12,0);" (assignment_expression "uVar8 = FUN_000365f0(pcVar12,0)" (identifier "uVar8") (= "=") (call_expression "FUN_000365f0(pcVar12,0)" (identifier "FUN_000365f0") (argument_list "(pcVar12,0)" (( "(") (identifier "pcVar12") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_00036710(uVar8,0);" (call_expression "FUN_00036710(uVar8,0)" (identifier "FUN_00036710") (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 "lVar2 = 0;" (assignment_expression "lVar2 = 0" (identifier "lVar2") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\n      } while (piVar1 != (int *)0x0);" (do "do") (compound_statement "{\n        local_108 = (int)((ulonglong)lVar2 >> 0x20);\n        local_10c = (uint)lVar2;\n        iVar29 = local_c4[2];\n        if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar21 = local_c4[4];\n        if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }\n        if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }\n        iVar19 = local_c4[5];\n        if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }\n        uVar6 = local_c4[6];\n        uVar24 = uVar6;\n        if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }\n        if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }\n        if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }\n        uVar6 = local_c4[1];\n        iVar15 = FUN_0003b3c0(uVar6);\n        lVar35 = FUN_00039f50(uVar6);\n        if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }\n        piVar1 = (int *)*local_c4;\n        free(local_c4);\n        iVar10 = iVar21;\n        iVar11 = iVar19;\n        local_e8 = iVar29;\n        local_d0 = iVar15;\n        local_c4 = piVar1;\n        lVar2 = lVar35;\n      }" ({ "{") (expression_statement "local_108 = (int)((ulonglong)lVar2 >> 0x20);" (assignment_expression "local_108 = (int)((ulonglong)lVar2 >> 0x20)" (identifier "local_108") (= "=") (cast_expression "(int)((ulonglong)lVar2 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar2 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar2 >> 0x20" (cast_expression "(ulonglong)lVar2" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar2")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_10c = (uint)lVar2;" (assignment_expression "local_10c = (uint)lVar2" (identifier "local_10c") (= "=") (cast_expression "(uint)lVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar2"))) (; ";")) (expression_statement "iVar29 = local_c4[2];" (assignment_expression "iVar29 = local_c4[2]" (identifier "iVar29") (= "=") (subscript_expression "local_c4[2]" (identifier "local_c4") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (iVar29 != local_e8) {\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }" (if "if") (parenthesized_expression "(iVar29 != local_e8)" (( "(") (binary_expression "iVar29 != local_e8" (identifier "iVar29") (!= "!=") (identifier "local_e8")) () ")")) (compound_statement "{\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }" ({ "{") (expression_statement "FUN_00024df0(4);" (call_expression "FUN_00024df0(4)" (identifier "FUN_00024df0") (argument_list "(4)" (( "(") (number_literal "4") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar21 = local_c4[4];" (assignment_expression "iVar21 = local_c4[4]" (identifier "iVar21") (= "=") (subscript_expression "local_c4[4]" (identifier "local_c4") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if (iVar21 != iVar10) {\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }" (if "if") (parenthesized_expression "(iVar21 != iVar10)" (( "(") (binary_expression "iVar21 != iVar10" (identifier "iVar21") (!= "!=") (identifier "iVar10")) () ")")) (compound_statement "{\n          FUN_00024df0(5);\n          FUN_0001a4e0();\n        }" ({ "{") (expression_statement "FUN_00024df0(5);" (call_expression "FUN_00024df0(5)" (identifier "FUN_00024df0") (argument_list "(5)" (( "(") (number_literal "5") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_c4[7] != 0) {\n          FUN_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\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_00024df0(0);\n          iVar10 = FUN_00031b10(local_c4[7],0,0);\n          uVar8 = FUN_00031b10(iVar10 + 1,0,1);\n          uVar8 = FUN_00024a90(uVar8);\n          FUN_00031b50(uVar8,iVar10 + 1,0,1);\n          FUN_00024df0(4);\n          FUN_0001a4e0();\n        }" ({ "{") (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar10 = FUN_00031b10(local_c4[7],0,0);" (assignment_expression "iVar10 = FUN_00031b10(local_c4[7],0,0)" (identifier "iVar10") (= "=") (call_expression "FUN_00031b10(local_c4[7],0,0)" (identifier "FUN_00031b10") (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_00031b10(iVar10 + 1,0,1);" (assignment_expression "uVar8 = FUN_00031b10(iVar10 + 1,0,1)" (identifier "uVar8") (= "=") (call_expression "FUN_00031b10(iVar10 + 1,0,1)" (identifier "FUN_00031b10") (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_00024a90(uVar8);" (assignment_expression "uVar8 = FUN_00024a90(uVar8)" (identifier "uVar8") (= "=") (call_expression "FUN_00024a90(uVar8)" (identifier "FUN_00024a90") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "FUN_00031b50(uVar8,iVar10 + 1,0,1);" (call_expression "FUN_00031b50(uVar8,iVar10 + 1,0,1)" (identifier "FUN_00031b50") (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_00024df0(4);" (call_expression "FUN_00024df0(4)" (identifier "FUN_00024df0") (argument_list "(4)" (( "(") (number_literal "4") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar19 = local_c4[5];" (assignment_expression "iVar19 = local_c4[5]" (identifier "iVar19") (= "=") (subscript_expression "local_c4[5]" (identifier "local_c4") ([ "[") (number_literal "5") (] "]"))) (; ";")) (if_statement "if (iVar19 != iVar11) {\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }" (if "if") (parenthesized_expression "(iVar19 != iVar11)" (( "(") (binary_expression "iVar19 != iVar11" (identifier "iVar19") (!= "!=") (identifier "iVar11")) () ")")) (compound_statement "{\n          FUN_00024df0(0xc);\n          FUN_0001a4e0();\n        }" ({ "{") (expression_statement "FUN_00024df0(0xc);" (call_expression "FUN_00024df0(0xc)" (identifier "FUN_00024df0") (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar6 = local_c4[6];" (assignment_expression "uVar6 = local_c4[6]" (identifier "uVar6") (= "=") (subscript_expression "local_c4[6]" (identifier "local_c4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar24 = uVar6;" (assignment_expression "uVar24 = uVar6" (identifier "uVar24") (= "=") (identifier "uVar6")) (; ";")) (if_statement "if (((local_100 ^ uVar6) & 1) != 0) {\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }" (if "if") (parenthesized_expression "(((local_100 ^ uVar6) & 1) != 0)" (( "(") (binary_expression "((local_100 ^ uVar6) & 1) != 0" (parenthesized_expression "((local_100 ^ uVar6) & 1)" (( "(") (binary_expression "(local_100 ^ uVar6) & 1" (parenthesized_expression "(local_100 ^ uVar6)" (( "(") (binary_expression "local_100 ^ uVar6" (identifier "local_100") (^ "^") (identifier "uVar6")) () ")")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00024df0(6);\n          uVar24 = local_c4[6];\n          local_100 = uVar6;\n        }" ({ "{") (expression_statement "FUN_00024df0(6);" (call_expression "FUN_00024df0(6)" (identifier "FUN_00024df0") (argument_list "(6)" (( "(") (number_literal "6") () ")"))) (; ";")) (expression_statement "uVar24 = local_c4[6];" (assignment_expression "uVar24 = local_c4[6]" (identifier "uVar24") (= "=") (subscript_expression "local_c4[6]" (identifier "local_c4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "local_100 = uVar6;" (assignment_expression "local_100 = uVar6" (identifier "local_100") (= "=") (identifier "uVar6")) (; ";")) (} "}"))) (if_statement "if ((uVar24 & 2) != 0) {\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }" (if "if") (parenthesized_expression "((uVar24 & 2) != 0)" (( "(") (binary_expression "(uVar24 & 2) != 0" (parenthesized_expression "(uVar24 & 2)" (( "(") (binary_expression "uVar24 & 2" (identifier "uVar24") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00024df0(7);\n          uVar24 = local_c4[6];\n        }" ({ "{") (expression_statement "FUN_00024df0(7);" (call_expression "FUN_00024df0(7)" (identifier "FUN_00024df0") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "uVar24 = local_c4[6];" (assignment_expression "uVar24 = local_c4[6]" (identifier "uVar24") (= "=") (subscript_expression "local_c4[6]" (identifier "local_c4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}"))) (if_statement "if ((uVar24 & 4) != 0) {\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }" (if "if") (parenthesized_expression "((uVar24 & 4) != 0)" (( "(") (binary_expression "(uVar24 & 4) != 0" (parenthesized_expression "(uVar24 & 4)" (( "(") (binary_expression "uVar24 & 4" (identifier "uVar24") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00024df0(10);\n          uVar24 = local_c4[6];\n        }" ({ "{") (expression_statement "FUN_00024df0(10);" (call_expression "FUN_00024df0(10)" (identifier "FUN_00024df0") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (expression_statement "uVar24 = local_c4[6];" (assignment_expression "uVar24 = local_c4[6]" (identifier "uVar24") (= "=") (subscript_expression "local_c4[6]" (identifier "local_c4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}"))) (if_statement "if ((uVar24 & 8) != 0) {\n          FUN_00024df0(0xb);\n        }" (if "if") (parenthesized_expression "((uVar24 & 8) != 0)" (( "(") (binary_expression "(uVar24 & 8) != 0" (parenthesized_expression "(uVar24 & 8)" (( "(") (binary_expression "uVar24 & 8" (identifier "uVar24") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00024df0(0xb);\n        }" ({ "{") (expression_statement "FUN_00024df0(0xb);" (call_expression "FUN_00024df0(0xb)" (identifier "FUN_00024df0") (argument_list "(0xb)" (( "(") (number_literal "0xb") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar6 = local_c4[1];" (assignment_expression "uVar6 = local_c4[1]" (identifier "uVar6") (= "=") (subscript_expression "local_c4[1]" (identifier "local_c4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar15 = FUN_0003b3c0(uVar6);" (assignment_expression "iVar15 = FUN_0003b3c0(uVar6)" (identifier "iVar15") (= "=") (call_expression "FUN_0003b3c0(uVar6)" (identifier "FUN_0003b3c0") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "lVar35 = FUN_00039f50(uVar6);" (assignment_expression "lVar35 = FUN_00039f50(uVar6)" (identifier "lVar35") (= "=") (call_expression "FUN_00039f50(uVar6)" (identifier "FUN_00039f50") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")")))) (; ";")) (if_statement "if (local_d0 == 0) {\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }\n        else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }" (if "if") (parenthesized_expression "(local_d0 == 0)" (( "(") (binary_expression "local_d0 == 0" (identifier "local_d0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001d2b0:\n          FUN_00024df0(0);\n          FUN_0001a4e0();\n          FUN_00024df0(2);\n          local_8c = 3;\n          local_9c[2] = 0;\n          local_9c[3] = 0;\n          local_9c[0] = uVar6;\n          FUN_000312d0(local_9c,DAT_00077734);\n          FUN_0001aa30();\n        }" ({ "{") (labeled_statement "LAB_0001d2b0:\n          FUN_00024df0(0);" (statement_identifier "LAB_0001d2b0") (: ":") (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";"))) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00024df0(2);" (call_expression "FUN_00024df0(2)" (identifier "FUN_00024df0") (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] = uVar6;" (assignment_expression "local_9c[0] = uVar6" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "FUN_000312d0(local_9c,DAT_00077734);" (call_expression "FUN_000312d0(local_9c,DAT_00077734)" (identifier "FUN_000312d0") (argument_list "(local_9c,DAT_00077734)" (( "(") (identifier "local_9c") (, ",") (identifier "DAT_00077734") () ")"))) (; ";")) (expression_statement "FUN_0001aa30();" (call_expression "FUN_0001aa30()" (identifier "FUN_0001aa30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }" (else "else") (compound_statement "{\n          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }\n          if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }\n        }" ({ "{") (if_statement "if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }" (if "if") (parenthesized_expression "((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0))" (( "(") (binary_expression "(local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)" (parenthesized_expression "(local_c4[8] == DAT_0007773c)" (( "(") (binary_expression "local_c4[8] == DAT_0007773c" (subscript_expression "local_c4[8]" (identifier "local_c4") ([ "[") (number_literal "8") (] "]")) (== "==") (identifier "DAT_0007773c")) () ")")) (&& "&&") (parenthesized_expression "(DAT_0007773c != 0)" (( "(") (binary_expression "DAT_0007773c != 0" (identifier "DAT_0007773c") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;\n            goto LAB_0001d2b0;\n          }" ({ "{") (if_statement "if (iVar15 == local_d0) {\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }\n            else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;" (if "if") (parenthesized_expression "(iVar15 == local_d0)" (( "(") (binary_expression "iVar15 == local_d0" (identifier "iVar15") (== "==") (identifier "local_d0")) () ")")) (compound_statement "{\n              if (lVar35 != lVar2) goto LAB_0001c5d8;\n            }" ({ "{") (if_statement "if (lVar35 != lVar2) goto LAB_0001c5d8;" (if "if") (parenthesized_expression "(lVar35 != lVar2)" (( "(") (binary_expression "lVar35 != lVar2" (identifier "lVar35") (!= "!=") (identifier "lVar2")) () ")")) (goto_statement "goto LAB_0001c5d8;" (goto "goto") (statement_identifier "LAB_0001c5d8") (; ";"))) (} "}")) (else_clause "else if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;" (else "else") (if_statement "if ((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;" (if "if") (parenthesized_expression "((lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0))" (( "(") (binary_expression "(lVar35 != 0) ||\n                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)" (parenthesized_expression "(lVar35 != 0)" (( "(") (binary_expression "lVar35 != 0" (identifier "lVar35") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0)" (( "(") (comma_expression "uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (assignment_expression "uVar36 = FUN_0001a520()" (identifier "uVar36") (= "=") (call_expression "FUN_0001a520()" (identifier "FUN_0001a520") (argument_list "()" (( "(") () ")")))) (, ",") (comma_expression "iVar11 = (int)((ulonglong)uVar36 >> 0x20),\n                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (assignment_expression "iVar11 = (int)((ulonglong)uVar36 >> 0x20)" (identifier "iVar11") (= "=") (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar36")) (>> ">>") (number_literal "0x20")) () ")")))) (, ",") (comma_expression "uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (assignment_expression "uVar24 = (uint)(local_10c < (uint)uVar36)" (identifier "uVar24") (= "=") (call_expression "(uint)(local_10c < (uint)uVar36)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_10c < (uint)uVar36)" (( "(") (binary_expression "local_10c < (uint)uVar36" (identifier "local_10c") (< "<") (cast_expression "(uint)uVar36" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar36"))) () ")")))) (, ",") (comma_expression "iVar10 = local_108 - iVar11,\n                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 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,uVar24)) !=\n                    (int)(iVar10 - uVar24) < 0" (parenthesized_expression "(SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24))" (( "(") (binary_expression "SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)" (call_expression "SBORROW4(local_108,iVar11)" (identifier "SBORROW4") (argument_list "(local_108,iVar11)" (( "(") (identifier "local_108") (, ",") (identifier "iVar11") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar10,uVar24)" (identifier "SBORROW4") (argument_list "(iVar10,uVar24)" (( "(") (identifier "iVar10") (, ",") (identifier "uVar24") () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar10 - uVar24) < 0" (cast_expression "(int)(iVar10 - uVar24)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar10 - uVar24)" (( "(") (binary_expression "iVar10 - uVar24" (identifier "iVar10") (- "-") (identifier "uVar24")) () ")"))) (< "<") (number_literal "0"))))))) () ")"))) () ")")) (goto_statement "goto LAB_0001c5e8;" (goto "goto") (statement_identifier "LAB_0001c5e8") (; ";"))))) (goto_statement "goto LAB_0001d2b0;" (goto "goto") (statement_identifier "LAB_0001d2b0") (; ";")) (} "}"))) (if_statement "if (iVar15 == local_d0) {\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }\n          else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }" (if "if") (parenthesized_expression "(iVar15 == local_d0)" (( "(") (binary_expression "iVar15 == local_d0" (identifier "iVar15") (== "==") (identifier "local_d0")) () ")")) (compound_statement "{\nLAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;\n            FUN_0001aa30();\n          }" ({ "{") (labeled_statement "LAB_0001c5d8:\n            if (DAT_00077d00 != 0) goto LAB_0001c5e8;" (statement_identifier "LAB_0001c5d8") (: ":") (if_statement "if (DAT_00077d00 != 0) goto LAB_0001c5e8;" (if "if") (parenthesized_expression "(DAT_00077d00 != 0)" (( "(") (binary_expression "DAT_00077d00 != 0" (identifier "DAT_00077d00") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001c5e8;" (goto "goto") (statement_identifier "LAB_0001c5e8") (; ";")))) (expression_statement "FUN_0001aa30();" (call_expression "FUN_0001aa30()" (identifier "FUN_0001aa30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\nLAB_0001c5e8:\n            FUN_0001a760();\n          }" (else "else") (compound_statement "{\nLAB_0001c5e8:\n            FUN_0001a760();\n          }" ({ "{") (labeled_statement "LAB_0001c5e8:\n            FUN_0001a760();" (statement_identifier "LAB_0001c5e8") (: ":") (expression_statement "FUN_0001a760();" (call_expression "FUN_0001a760()" (identifier "FUN_0001a760") (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 = iVar21;" (assignment_expression "iVar10 = iVar21" (identifier "iVar10") (= "=") (identifier "iVar21")) (; ";")) (expression_statement "iVar11 = iVar19;" (assignment_expression "iVar11 = iVar19" (identifier "iVar11") (= "=") (identifier "iVar19")) (; ";")) (expression_statement "local_e8 = iVar29;" (assignment_expression "local_e8 = iVar29" (identifier "local_e8") (= "=") (identifier "iVar29")) (; ";")) (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 "lVar2 = lVar35;" (assignment_expression "lVar2 = lVar35" (identifier "lVar2") (= "=") (identifier "lVar35")) (; ";")) (} "}")) (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 "uVar36 = FUN_0001a520();" (assignment_expression "uVar36 = FUN_0001a520()" (identifier "uVar36") (= "=") (call_expression "FUN_0001a520()" (identifier "FUN_0001a520") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {\n        FUN_0001aa30();\n      }\n      else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }" (if "if") (parenthesized_expression "((iVar15 == iVar10) && (DAT_00077d00 == 0))" (( "(") (binary_expression "(iVar15 == iVar10) && (DAT_00077d00 == 0)" (parenthesized_expression "(iVar15 == iVar10)" (( "(") (binary_expression "iVar15 == iVar10" (identifier "iVar15") (== "==") (identifier "iVar10")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00077d00 == 0)" (( "(") (binary_expression "DAT_00077d00 == 0" (identifier "DAT_00077d00") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        FUN_0001aa30();\n      }" ({ "{") (expression_statement "FUN_0001aa30();" (call_expression "FUN_0001aa30()" (identifier "FUN_0001aa30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }" (else "else") (compound_statement "{\n        FUN_00038ad0(puVar26,uVar36,iVar10);\n        FUN_0001a760();\n      }" ({ "{") (expression_statement "FUN_00038ad0(puVar26,uVar36,iVar10);" (call_expression "FUN_00038ad0(puVar26,uVar36,iVar10)" (identifier "FUN_00038ad0") (argument_list "(puVar26,uVar36,iVar10)" (( "(") (identifier "puVar26") (, ",") (identifier "uVar36") (, ",") (identifier "iVar10") () ")"))) (; ";")) (expression_statement "FUN_0001a760();" (call_expression "FUN_0001a760()" (identifier "FUN_0001a760") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}"))) (if_statement "if (DAT_00077d94 != 0) {\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }" (if "if") (parenthesized_expression "(DAT_00077d94 != 0)" (( "(") (binary_expression "DAT_00077d94 != 0" (identifier "DAT_00077d94") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar8 = FUN_000365f0(".debug_line_end",0);\n    FUN_00036710(uVar8,0);\n  }" ({ "{") (expression_statement "uVar8 = FUN_000365f0(".debug_line_end",0);" (assignment_expression "uVar8 = FUN_000365f0(".debug_line_end",0)" (identifier "uVar8") (= "=") (call_expression "FUN_000365f0(".debug_line_end",0)" (identifier "FUN_000365f0") (argument_list "(".debug_line_end",0)" (( "(") (string_literal "".debug_line_end"" (" """) (string_content ".debug_line_end") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_00036710(uVar8,0);" (call_expression "FUN_00036710(uVar8,0)" (identifier "FUN_00036710") (argument_list "(uVar8,0)" (( "(") (identifier "uVar8") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0003b370(iVar5);" (call_expression "FUN_0003b370(iVar5)" (identifier "FUN_0003b370") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))) (; ";")) (if_statement "if (!bVar32) {\n    return;\n  }" (if "if") (parenthesized_expression "(!bVar32)" (( "(") (unary_expression "!bVar32" (! "!") (identifier "bVar32")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (DAT_0007775c == (int *)0x0) {\n                    \n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }" (if "if") (parenthesized_expression "(DAT_0007775c == (int *)0x0)" (( "(") (binary_expression "DAT_0007775c == (int *)0x0" (identifier "DAT_0007775c") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);\n  }" ({ "{") (expression_statement "FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);" (call_expression "FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX)" (identifier "FUN_0002be50") (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_000366b0(".debug_info",0);" (assignment_expression "uVar8 = FUN_000366b0(".debug_info",0)" (identifier "uVar8") (= "=") (call_expression "FUN_000366b0(".debug_info",0)" (identifier "FUN_000366b0") (argument_list "(".debug_info",0)" (( "(") (string_literal "".debug_info"" (" """) (string_content ".debug_info") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar9 = FUN_000366b0(".debug_abbrev",0);" (assignment_expression "uVar9 = FUN_000366b0(".debug_abbrev",0)" (identifier "uVar9") (= "=") (call_expression "FUN_000366b0(".debug_abbrev",0)" (identifier "FUN_000366b0") (argument_list "(".debug_abbrev",0)" (( "(") (string_literal "".debug_abbrev"" (" """) (string_content ".debug_abbrev") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar16 = FUN_000366b0(".debug_aranges",0);" (assignment_expression "uVar16 = FUN_000366b0(".debug_aranges",0)" (identifier "uVar16") (= "=") (call_expression "FUN_000366b0(".debug_aranges",0)" (identifier "FUN_000366b0") (argument_list "(".debug_aranges",0)" (( "(") (string_literal "".debug_aranges"" (" """) (string_content ".debug_aranges") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar10 = FUN_000366b0(".debug_str",0);" (assignment_expression "iVar10 = FUN_000366b0(".debug_str",0)" (identifier "iVar10") (= "=") (call_expression "FUN_000366b0(".debug_str",0)" (identifier "FUN_000366b0") (argument_list "(".debug_str",0)" (( "(") (string_literal "".debug_str"" (" """) (string_content ".debug_str") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008)" (identifier "bfd_set_section_flags") (argument_list "(DAT_00077ec4,uVar8,0x2008)" (( "(") (identifier "DAT_00077ec4") (, ",") (identifier "uVar8") (, ",") (number_literal "0x2008") () ")"))) (; ";")) (expression_statement "bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008)" (identifier "bfd_set_section_flags") (argument_list "(DAT_00077ec4,uVar9,0x2008)" (( "(") (identifier "DAT_00077ec4") (, ",") (identifier "uVar9") (, ",") (number_literal "0x2008") () ")"))) (; ";")) (expression_statement "bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008)" (identifier "bfd_set_section_flags") (argument_list "(DAT_00077ec4,uVar16,0x2008)" (( "(") (identifier "DAT_00077ec4") (, ",") (identifier "uVar16") (, ",") (number_literal "0x2008") () ")"))) (; ";")) (expression_statement "bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008)" (identifier "bfd_set_section_flags") (argument_list "(DAT_00077ec4,iVar10,0x1802008)" (( "(") (identifier "DAT_00077ec4") (, ",") (identifier "iVar10") (, ",") (number_literal "0x1802008") () ")"))) (; ";")) (expression_statement "uVar6 = DAT_00077734;" (assignment_expression "uVar6 = DAT_00077734" (identifier "uVar6") (= "=") (identifier "DAT_00077734")) (; ";")) (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 "uVar6 = uVar6 * 2;" (assignment_expression "uVar6 = uVar6 * 2" (identifier "uVar6") (= "=") (binary_expression "uVar6 * 2" (identifier "uVar6") (* "*") (number_literal "2"))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }" ({ "{") (for_statement "for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }" (for "for") (( "(") (; ";") (binary_expression "(uVar6 >> iVar5 & 1) == 0" (parenthesized_expression "(uVar6 >> iVar5 & 1)" (( "(") (binary_expression "uVar6 >> iVar5 & 1" (binary_expression "uVar6 >> iVar5" (identifier "uVar6") (>> ">>") (identifier "iVar5")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) (; ";") (assignment_expression "iVar5 = iVar5 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n    }" ({ "{") (} "}"))) (} "}"))) (if_statement "if (uVar6 == 0) {\n    iVar5 = -1;\n  }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar5 = -1;\n  }" ({ "{") (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" (identifier "iVar5") (= "=") (number_literal "-1")) (; ";")) (} "}"))) (expression_statement "FUN_0003f050(uVar16,iVar5);" (call_expression "FUN_0003f050(uVar16,iVar5)" (identifier "FUN_0003f050") (argument_list "(uVar16,iVar5)" (( "(") (identifier "uVar16") (, ",") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "local_ec = *DAT_0007775c;" (assignment_expression "local_ec = *DAT_0007775c" (identifier "local_ec") (= "=") (pointer_expression "*DAT_0007775c" (* "*") (identifier "DAT_0007775c"))) (; ";")) (if_statement "if (local_ec == 0) goto LAB_0001caf4;" (if "if") (parenthesized_expression "(local_ec == 0)" (( "(") (binary_expression "local_ec == 0" (identifier "local_ec") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001caf4;" (goto "goto") (statement_identifier "LAB_0001caf4") (; ";"))) (expression_statement "local_ec = FUN_000366b0(".debug_ranges",0);" (assignment_expression "local_ec = FUN_000366b0(".debug_ranges",0)" (identifier "local_ec") (= "=") (call_expression "FUN_000366b0(".debug_ranges",0)" (identifier "FUN_000366b0") (argument_list "(".debug_ranges",0)" (( "(") (string_literal "".debug_ranges"" (" """) (string_content ".debug_ranges") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);" (call_expression "bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008)" (identifier "bfd_set_section_flags") (argument_list "(DAT_00077ec4,local_ec,0x2008)" (( "(") (identifier "DAT_00077ec4") (, ",") (identifier "local_ec") (, ",") (number_literal "0x2008") () ")"))) (; ";")) (expression_statement "uVar6 = DAT_00077734 * 2;" (assignment_expression "uVar6 = DAT_00077734 * 2" (identifier "uVar6") (= "=") (binary_expression "DAT_00077734 * 2" (identifier "DAT_00077734") (* "*") (number_literal "2"))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar6 != 0) {\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }\n  }" ({ "{") (for_statement "for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {\n    }" (for "for") (( "(") (; ";") (binary_expression "(uVar6 >> iVar5 & 1) == 0" (parenthesized_expression "(uVar6 >> iVar5 & 1)" (( "(") (binary_expression "uVar6 >> iVar5 & 1" (binary_expression "uVar6 >> iVar5" (identifier "uVar6") (>> ">>") (identifier "iVar5")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) (; ";") (assignment_expression "iVar5 = iVar5 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n    }" ({ "{") (} "}"))) (} "}"))) (if_statement "if (uVar6 == 0) {\n    iVar5 = -1;\n  }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar5 = -1;\n  }" ({ "{") (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" (identifier "iVar5") (= "=") (number_literal "-1")) (; ";")) (} "}"))) (expression_statement "FUN_0003f050(local_ec,iVar5);" (call_expression "FUN_0003f050(local_ec,iVar5)" (identifier "FUN_0003f050") (argument_list "(local_ec,iVar5)" (( "(") (identifier "local_ec") (, ",") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "uVar6 = DAT_00077734;" (assignment_expression "uVar6 = DAT_00077734" (identifier "uVar6") (= "=") (identifier "DAT_00077734")) (; ";")) (expression_statement "FUN_00036710(local_ec,0);" (call_expression "FUN_00036710(local_ec,0)" (identifier "FUN_00036710") (argument_list "(local_ec,0)" (( "(") (identifier "local_ec") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (uVar6 == 0) {\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }\n  else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;\nLAB_0001c9b0:\n    piVar28 = DAT_0007775c;\n    do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);\n    if (uVar6 == 0) goto LAB_0001caf4;\n  }" ({ "{") (if_statement "if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;" (if "if") (parenthesized_expression "(DAT_0007775c == (int *)0x0)" (( "(") (binary_expression "DAT_0007775c == (int *)0x0" (identifier "DAT_0007775c") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001caf4;" (goto "goto") (statement_identifier "LAB_0001caf4") (; ";"))) (labeled_statement "LAB_0001c9b0:\n    piVar28 = DAT_0007775c;" (statement_identifier "LAB_0001c9b0") (: ":") (expression_statement "piVar28 = DAT_0007775c;" (assignment_expression "piVar28 = DAT_0007775c" (identifier "piVar28") (= "=") (identifier "DAT_0007775c")) (; ";"))) (do_statement "do {\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    } while (piVar28 != (int *)0x0);" (do "do") (compound_statement "{\n      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n      iVar5 = piVar28[1];\n      piVar28[3] = uVar24;\n      iVar11 = **(int **)(iVar5 + 0x80);\n      do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);\n      uVar16 = *(undefined4 *)(iVar29 + 4);\n      uVar36 = FUN_0001a520();\n      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);\n      piVar28[4] = uVar17;\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar24;\n      FUN_000312d0(local_9c,uVar6);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      local_9c[0] = uVar17;\n      FUN_000312d0(local_9c,uVar6);\n      piVar28 = (int *)*piVar28;\n    }" ({ "{") (expression_statement "uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));" (assignment_expression "uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" (identifier "uVar24") (= "=") (call_expression "FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" (identifier "FUN_00038ad0") (argument_list "(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" (( "(") (subscript_expression "piVar28[1]" (identifier "piVar28") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80)" (* "*") (cast_expression "(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(piVar28[1] + 0x80)" (* "*") (pointer_expression "*(undefined4 **)(piVar28[1] + 0x80)" (* "*") (cast_expression "(undefined4 **)(piVar28[1] + 0x80)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar28[1] + 0x80)" (( "(") (binary_expression "piVar28[1] + 0x80" (subscript_expression "piVar28[1]" (identifier "piVar28") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x80")) () ")"))))))) () ")")))) (; ";")) (expression_statement "iVar5 = piVar28[1];" (assignment_expression "iVar5 = piVar28[1]" (identifier "iVar5") (= "=") (subscript_expression "piVar28[1]" (identifier "piVar28") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar28[3] = uVar24;" (assignment_expression "piVar28[3] = uVar24" (subscript_expression "piVar28[3]" (identifier "piVar28") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar24")) (; ";")) (expression_statement "iVar11 = **(int **)(iVar5 + 0x80);" (assignment_expression "iVar11 = **(int **)(iVar5 + 0x80)" (identifier "iVar11") (= "=") (pointer_expression "**(int **)(iVar5 + 0x80)" (* "*") (pointer_expression "*(int **)(iVar5 + 0x80)" (* "*") (cast_expression "(int **)(iVar5 + 0x80)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x80)" (( "(") (binary_expression "iVar5 + 0x80" (identifier "iVar5") (+ "+") (number_literal "0x80")) () ")")))))) (; ";")) (do_statement "do {\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      } while (iVar11 != 0);" (do "do") (compound_statement "{\n        iVar29 = iVar11;\n        iVar11 = *(int *)(iVar29 + 8);\n      }" ({ "{") (expression_statement "iVar29 = iVar11;" (assignment_expression "iVar29 = iVar11" (identifier "iVar29") (= "=") (identifier "iVar11")) (; ";")) (expression_statement "iVar11 = *(int *)(iVar29 + 8);" (assignment_expression "iVar11 = *(int *)(iVar29 + 8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(iVar29 + 8)" (* "*") (cast_expression "(int *)(iVar29 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 8)" (( "(") (binary_expression "iVar29 + 8" (identifier "iVar29") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "uVar16 = *(undefined4 *)(iVar29 + 4);" (assignment_expression "uVar16 = *(undefined4 *)(iVar29 + 4)" (identifier "uVar16") (= "=") (pointer_expression "*(undefined4 *)(iVar29 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 4)" (( "(") (binary_expression "iVar29 + 4" (identifier "iVar29") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar36 = FUN_0001a520();" (assignment_expression "uVar36 = FUN_0001a520()" (identifier "uVar36") (= "=") (call_expression "FUN_0001a520()" (identifier "FUN_0001a520") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);" (assignment_expression "uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16)" (identifier "uVar17") (= "=") (call_expression "FUN_00038ad0(iVar5,uVar36,uVar16)" (identifier "FUN_00038ad0") (argument_list "(iVar5,uVar36,uVar16)" (( "(") (identifier "iVar5") (, ",") (identifier "uVar36") (, ",") (identifier "uVar16") () ")")))) (; ";")) (expression_statement "piVar28[4] = uVar17;" (assignment_expression "piVar28[4] = uVar17" (subscript_expression "piVar28[4]" (identifier "piVar28") ([ "[") (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] = uVar24;" (assignment_expression "local_9c[0] = uVar24" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar24")) (; ";")) (expression_statement "FUN_000312d0(local_9c,uVar6);" (call_expression "FUN_000312d0(local_9c,uVar6)" (identifier "FUN_000312d0") (argument_list "(local_9c,uVar6)" (( "(") (identifier "local_9c") (, ",") (identifier "uVar6") () ")"))) (; ";")) (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_000312d0(local_9c,uVar6);" (call_expression "FUN_000312d0(local_9c,uVar6)" (identifier "FUN_000312d0") (argument_list "(local_9c,uVar6)" (( "(") (identifier "local_9c") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "piVar28 = (int *)*piVar28;" (assignment_expression "piVar28 = (int *)*piVar28" (identifier "piVar28") (= "=") (cast_expression "(int *)*piVar28" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar28" (* "*") (identifier "piVar28")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar28 != (int *)0x0)" (( "(") (binary_expression "piVar28 != (int *)0x0" (identifier "piVar28") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (uVar6 == 0) goto LAB_0001caf4;" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001caf4;" (goto "goto") (statement_identifier "LAB_0001caf4") (; ";"))) (} "}")) (else_clause "else {\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }" (else "else") (compound_statement "{\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);\n    uVar24 = 0;\n    do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);\n    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;\n  }" ({ "{") (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    } while (uVar6 != uVar24);" (do "do") (compound_statement "{\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0xff);\n    }" ({ "{") (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" (identifier "uVar24") (= "=") (binary_expression "uVar24 + 1" (identifier "uVar24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_00024df0(0xff);" (call_expression "FUN_00024df0(0xff)" (identifier "FUN_00024df0") (argument_list "(0xff)" (( "(") (number_literal "0xff") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar6 != uVar24)" (( "(") (binary_expression "uVar6 != uVar24" (identifier "uVar6") (!= "!=") (identifier "uVar24")) () ")")) (; ";")) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    } while (uVar6 != uVar24);" (do "do") (compound_statement "{\n      uVar24 = uVar24 + 1;\n      FUN_00024df0(0);\n    }" ({ "{") (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" (identifier "uVar24") (= "=") (binary_expression "uVar24 + 1" (identifier "uVar24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar6 != uVar24)" (( "(") (binary_expression "uVar6 != uVar24" (identifier "uVar6") (!= "!=") (identifier "uVar24")) () ")")) (; ";")) (if_statement "if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;" (if "if") (parenthesized_expression "(DAT_0007775c != (int *)0x0)" (( "(") (binary_expression "DAT_0007775c != (int *)0x0" (identifier "DAT_0007775c") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001c9b0;" (goto "goto") (statement_identifier "LAB_0001c9b0") (; ";"))) (} "}")))) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);" (do "do") (compound_statement "{\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  }" ({ "{") (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" (identifier "uVar24") (= "=") (binary_expression "uVar24 + 1" (identifier "uVar24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar6 != uVar24)" (( "(") (binary_expression "uVar6 != uVar24" (identifier "uVar6") (!= "!=") (identifier "uVar24")) () ")")) (; ";")) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  } while (uVar6 != uVar24);" (do "do") (compound_statement "{\n    uVar24 = uVar24 + 1;\n    FUN_00024df0(0);\n  }" ({ "{") (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" (identifier "uVar24") (= "=") (binary_expression "uVar24 + 1" (identifier "uVar24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar6 != uVar24)" (( "(") (binary_expression "uVar6 != uVar24" (identifier "uVar6") (!= "!=") (identifier "uVar24")) () ")")) (; ";")) (labeled_statement "LAB_0001caf4:\n  uVar6 = DAT_00077734;" (statement_identifier "LAB_0001caf4") (: ":") (expression_statement "uVar6 = DAT_00077734;" (assignment_expression "uVar6 = DAT_00077734" (identifier "uVar6") (= "=") (identifier "DAT_00077734")) (; ";"))) (expression_statement "local_cc = local_9c;" (assignment_expression "local_cc = local_9c" (identifier "local_cc") (= "=") (identifier "local_9c")) (; ";")) (expression_statement "uVar17 = FUN_0001a440();" (assignment_expression "uVar17 = FUN_0001a440()" (identifier "uVar17") (= "=") (call_expression "FUN_0001a440()" (identifier "FUN_0001a440") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "auVar4 = local_a4;" (assignment_expression "auVar4 = local_a4" (identifier "auVar4") (= "=") (identifier "local_a4")) (; ";")) (expression_statement "uVar24 = local_a8;" (assignment_expression "uVar24 = local_a8" (identifier "uVar24") (= "=") (identifier "local_a8")) (; ";")) (expression_statement "iVar11 = local_b0;" (assignment_expression "iVar11 = local_b0" (identifier "iVar11") (= "=") (identifier "local_b0")) (; ";")) (expression_statement "uVar16 = FUN_00024a90(2);" (assignment_expression "uVar16 = FUN_00024a90(2)" (identifier "uVar16") (= "=") (call_expression "FUN_00024a90(2)" (identifier "FUN_00024a90") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (; ";")) (expression_statement "FUN_00043d50(uVar16,2,0,2);" (call_expression "FUN_00043d50(uVar16,2,0,2)" (identifier "FUN_00043d50") (argument_list "(uVar16,2,0,2)" (( "(") (identifier "uVar16") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "local_9c[0] = FUN_00036760(uVar8);" (assignment_expression "local_9c[0] = FUN_00036760(uVar8)" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "FUN_00036760(uVar8)" (identifier "FUN_00036760") (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_000312d0(local_cc,uVar17);" (call_expression "FUN_000312d0(local_cc,uVar17)" (identifier "FUN_000312d0") (argument_list "(local_cc,uVar17)" (( "(") (identifier "local_cc") (, ",") (identifier "uVar17") () ")"))) (; ";")) (expression_statement "uVar25 = 2 - uVar24;" (assignment_expression "uVar25 = 2 - uVar24" (identifier "uVar25") (= "=") (binary_expression "2 - uVar24" (number_literal "2") (- "-") (identifier "uVar24"))) (; ";")) (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 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)\n  ;" (assignment_expression "iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)" (identifier "iVar21") (= "=") (binary_expression "((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)" (binary_expression "((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4)" (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 < uVar24) - (int)auVar4)" (( "(") (binary_expression "-(uint)(2 < uVar24) - (int)auVar4" (unary_expression "-(uint)(2 < uVar24)" (- "-") (call_expression "(uint)(2 < uVar24)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(2 < uVar24)" (( "(") (binary_expression "2 < uVar24" (number_literal "2") (< "<") (identifier "uVar24")) () ")")))) (- "-") (cast_expression "(int)auVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auVar4"))) () ")"))) (+ "+") (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_00024df0(uVar6);" (call_expression "FUN_00024df0(uVar6)" (identifier "FUN_00024df0") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar24 = uVar18 + 3;" (assignment_expression "uVar24 = uVar18 + 3" (identifier "uVar24") (= "=") (binary_expression "uVar18 + 3" (identifier "uVar18") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);" (assignment_expression "iVar29 = iVar21 + (uint)(0xfffffffc < uVar18)" (identifier "iVar29") (= "=") (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 "iVar5 = uVar6 * 2;" (assignment_expression "iVar5 = uVar6 * 2" (identifier "iVar5") (= "=") (binary_expression "uVar6 * 2" (identifier "uVar6") (* "*") (number_literal "2"))) (; ";")) (expression_statement "uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);" (assignment_expression "uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0)" (identifier "uVar36") (= "=") (call_expression "FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0)" (identifier "FUN_0004cdb0") (argument_list "(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,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 "iVar5") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar28 = DAT_0007775c;" (assignment_expression "piVar28 = DAT_0007775c" (identifier "piVar28") (= "=") (identifier "DAT_0007775c")) (; ";")) (if_statement "if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }" (if "if") (parenthesized_expression "(-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0))" (( "(") (binary_expression "-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)" (unary_expression "-(int)((ulonglong)uVar36 >> 0x20)" (- "-") (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar36")) (>> ">>") (number_literal "0x20")) () ")")))) (< "<") (cast_expression "(int)(uint)((int)uVar36 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)((int)uVar36 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)uVar36 != 0)" (( "(") (binary_expression "(int)uVar36 != 0" (cast_expression "(int)uVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar36")) (!= "!=") (number_literal "0")) () ")"))))) () ")")) (compound_statement "{\n    do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));\n  }" ({ "{") (do_statement "do {\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));" (do "do") (compound_statement "{\n      FUN_00024df0(0);\n      bVar32 = 0xfffffffe < uVar24;\n      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);\n      uVar24 = uVar24 + 1;\n      iVar29 = iVar29 + (uint)bVar32;\n      piVar28 = DAT_0007775c;\n    }" ({ "{") (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "bVar32 = 0xfffffffe < uVar24;" (assignment_expression "bVar32 = 0xfffffffe < uVar24" (identifier "bVar32") (= "=") (binary_expression "0xfffffffe < uVar24" (number_literal "0xfffffffe") (< "<") (identifier "uVar24"))) (; ";")) (expression_statement "uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);" (assignment_expression "uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0)" (identifier "uVar36") (= "=") (call_expression "FUN_0004cdb0(uVar24,iVar29,iVar5,0)" (identifier "FUN_0004cdb0") (argument_list "(uVar24,iVar29,iVar5,0)" (( "(") (identifier "uVar24") (, ",") (identifier "iVar29") (, ",") (identifier "iVar5") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" (identifier "uVar24") (= "=") (binary_expression "uVar24 + 1" (identifier "uVar24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar29 = iVar29 + (uint)bVar32;" (assignment_expression "iVar29 = iVar29 + (uint)bVar32" (identifier "iVar29") (= "=") (binary_expression "iVar29 + (uint)bVar32" (identifier "iVar29") (+ "+") (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")))) (; ";")) (expression_statement "piVar28 = DAT_0007775c;" (assignment_expression "piVar28 = DAT_0007775c" (identifier "piVar28") (= "=") (identifier "DAT_0007775c")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0))" (( "(") (binary_expression "-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)" (unary_expression "-(int)((ulonglong)uVar36 >> 0x20)" (- "-") (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar36")) (>> ">>") (number_literal "0x20")) () ")")))) (< "<") (cast_expression "(int)(uint)((int)uVar36 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)((int)uVar36 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)uVar36 != 0)" (( "(") (binary_expression "(int)uVar36 != 0" (cast_expression "(int)uVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar36")) (!= "!=") (number_literal "0")) () ")"))))) () ")")) (; ";")) (} "}"))) (for_statement "for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }" (for "for") (( "(") (; ";") (binary_expression "piVar28 != (int *)0x0" (identifier "piVar28") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "piVar28 = (int *)*piVar28" (identifier "piVar28") (= "=") (cast_expression "(int *)*piVar28" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar28" (* "*") (identifier "piVar28")))) () ")") (compound_statement "{\n    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));\n    iVar29 = piVar28[1];\n    piVar28[3] = iVar19;\n    iVar21 = **(int **)(iVar29 + 0x80);\n    do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);\n    uVar8 = *(undefined4 *)(iVar15 + 4);\n    uVar36 = FUN_0001a520();\n    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);\n    piVar28[4] = iVar29;\n    local_a0[0] = 3;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n    local_a0[0] = 0x14;\n    local_a8 = 0;\n    local_a4 = (undefined1  [4])0x0;\n    local_b0 = iVar29;\n    local_ac = iVar19;\n    FUN_000312d0(&local_b0,uVar6);\n  }" ({ "{") (expression_statement "iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));" (assignment_expression "iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" (identifier "iVar19") (= "=") (call_expression "FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" (identifier "FUN_00038ad0") (argument_list "(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80))" (( "(") (subscript_expression "piVar28[1]" (identifier "piVar28") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80)" (* "*") (cast_expression "(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(piVar28[1] + 0x80)" (* "*") (pointer_expression "*(undefined4 **)(piVar28[1] + 0x80)" (* "*") (cast_expression "(undefined4 **)(piVar28[1] + 0x80)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar28[1] + 0x80)" (( "(") (binary_expression "piVar28[1] + 0x80" (subscript_expression "piVar28[1]" (identifier "piVar28") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x80")) () ")"))))))) () ")")))) (; ";")) (expression_statement "iVar29 = piVar28[1];" (assignment_expression "iVar29 = piVar28[1]" (identifier "iVar29") (= "=") (subscript_expression "piVar28[1]" (identifier "piVar28") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar28[3] = iVar19;" (assignment_expression "piVar28[3] = iVar19" (subscript_expression "piVar28[3]" (identifier "piVar28") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "iVar21 = **(int **)(iVar29 + 0x80);" (assignment_expression "iVar21 = **(int **)(iVar29 + 0x80)" (identifier "iVar21") (= "=") (pointer_expression "**(int **)(iVar29 + 0x80)" (* "*") (pointer_expression "*(int **)(iVar29 + 0x80)" (* "*") (cast_expression "(int **)(iVar29 + 0x80)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar29 + 0x80)" (( "(") (binary_expression "iVar29 + 0x80" (identifier "iVar29") (+ "+") (number_literal "0x80")) () ")")))))) (; ";")) (do_statement "do {\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    } while (iVar21 != 0);" (do "do") (compound_statement "{\n      iVar15 = iVar21;\n      iVar21 = *(int *)(iVar15 + 8);\n    }" ({ "{") (expression_statement "iVar15 = iVar21;" (assignment_expression "iVar15 = iVar21" (identifier "iVar15") (= "=") (identifier "iVar21")) (; ";")) (expression_statement "iVar21 = *(int *)(iVar15 + 8);" (assignment_expression "iVar21 = *(int *)(iVar15 + 8)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(iVar15 + 8)" (* "*") (cast_expression "(int *)(iVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 8)" (( "(") (binary_expression "iVar15 + 8" (identifier "iVar15") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(iVar15 + 4);" (assignment_expression "uVar8 = *(undefined4 *)(iVar15 + 4)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(iVar15 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar15 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 4)" (( "(") (binary_expression "iVar15 + 4" (identifier "iVar15") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar36 = FUN_0001a520();" (assignment_expression "uVar36 = FUN_0001a520()" (identifier "uVar36") (= "=") (call_expression "FUN_0001a520()" (identifier "FUN_0001a520") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);" (assignment_expression "iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8)" (identifier "iVar29") (= "=") (call_expression "FUN_00038ad0(iVar29,uVar36,uVar8)" (identifier "FUN_00038ad0") (argument_list "(iVar29,uVar36,uVar8)" (( "(") (identifier "iVar29") (, ",") (identifier "uVar36") (, ",") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "piVar28[4] = iVar29;" (assignment_expression "piVar28[4] = iVar29" (subscript_expression "piVar28[4]" (identifier "piVar28") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar29")) (; ";")) (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 = iVar19;" (assignment_expression "local_b0 = iVar19" (identifier "local_b0") (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_000312d0(&local_b0,uVar6);" (call_expression "FUN_000312d0(&local_b0,uVar6)" (identifier "FUN_000312d0") (argument_list "(&local_b0,uVar6)" (( "(") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) (, ",") (identifier "uVar6") () ")"))) (; ";")) (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 = iVar29;" (assignment_expression "local_b0 = iVar29" (identifier "local_b0") (= "=") (identifier "iVar29")) (; ";")) (expression_statement "local_ac = iVar19;" (assignment_expression "local_ac = iVar19" (identifier "local_ac") (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_000312d0(&local_b0,uVar6);" (call_expression "FUN_000312d0(&local_b0,uVar6)" (identifier "FUN_000312d0") (argument_list "(&local_b0,uVar6)" (( "(") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) (, ",") (identifier "uVar6") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar5 = FUN_00024a90(iVar5);" (assignment_expression "iVar5 = FUN_00024a90(iVar5)" (identifier "iVar5") (= "=") (call_expression "FUN_00024a90(iVar5)" (identifier "FUN_00024a90") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (expression_statement "FUN_00043d50(iVar5,0,0,uVar6);" (call_expression "FUN_00043d50(iVar5,0,0,uVar6)" (identifier "FUN_00043d50") (argument_list "(iVar5,0,0,uVar6)" (( "(") (identifier "iVar5") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "FUN_00043d50(iVar5 + uVar6,0,0,uVar6);" (call_expression "FUN_00043d50(iVar5 + uVar6,0,0,uVar6)" (identifier "FUN_00043d50") (argument_list "(iVar5 + uVar6,0,0,uVar6)" (( "(") (binary_expression "iVar5 + uVar6" (identifier "iVar5") (+ "+") (identifier "uVar6")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "FUN_0003b370(iVar11);" (call_expression "FUN_0003b370(iVar11)" (identifier "FUN_0003b370") (argument_list "(iVar11)" (( "(") (identifier "iVar11") () ")"))) (; ";")) (expression_statement "FUN_00036710(uVar9,0);" (call_expression "FUN_00036710(uVar9,0)" (identifier "FUN_00036710") (argument_list "(uVar9,0)" (( "(") (identifier "uVar9") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*DAT_0007775c == 0) {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }\n  else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }" (if "if") (parenthesized_expression "(*DAT_0007775c == 0)" (( "(") (binary_expression "*DAT_0007775c == 0" (pointer_expression "*DAT_0007775c" (* "*") (identifier "DAT_0007775c")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }" ({ "{") (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }" (else "else") (compound_statement "{\n    FUN_0001a4e0();\n    FUN_0001a4e0();\n  }" ({ "{") (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00024df0(0);" (call_expression "FUN_00024df0(0)" (identifier "FUN_00024df0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00036710(iVar10,0);" (call_expression "FUN_00036710(iVar10,0)" (identifier "FUN_00036710") (argument_list "(iVar10,0)" (( "(") (identifier "iVar10") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar24 = FUN_00038b00();" (assignment_expression "uVar24 = FUN_00038b00()" (identifier "uVar24") (= "=") (call_expression "FUN_00038b00()" (identifier "FUN_00038b00") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (DAT_00077750 != 0) {\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }" (if "if") (parenthesized_expression "(DAT_00077750 != 0)" (( "(") (binary_expression "DAT_00077750 != 0" (identifier "DAT_00077750") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }\n    sVar13 = strlen(*(char **)(DAT_00077754 + 8));\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);\n    uVar6 = FUN_00038b00();\n    uVar8 = getpwd();\n    pcVar12 = (char *)FUN_00035180(uVar8);\n    sVar13 = strlen(pcVar12);\n    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n    memcpy(pvVar14,pcVar12,sVar13 + 1);\n    uVar17 = FUN_00038b00();\n    sprintf((char *)local_cc,"GNU AS %s","2.31.1");\n    puVar20 = local_cc;\n    do {\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);\n    bVar32 = (uVar25 & 0x8080) == 0;\n    if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }\n    if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }\n    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;\n    puVar20 = (uint *)FUN_00024a90(uVar18);\n    if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }\n    uVar8 = FUN_0001a440();\n    iVar5 = local_b0;\n    uVar16 = FUN_00024a90(2);\n    FUN_00043d50(uVar16,2,0,2);\n    local_9c[0] = FUN_00036760(uVar9);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,uVar8);\n    FUN_00024df0(DAT_00077734);\n    FUN_0001a4e0();\n    local_9c[0] = FUN_00036760(uVar7);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    FUN_000312d0(local_cc,4);\n    if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar24;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar6;\n    FUN_000312d0(local_cc,uVar8);\n    local_8c = 3;\n    local_9c[2] = 0;\n    local_9c[3] = 0;\n    local_9c[0] = uVar17;\n    FUN_000312d0(local_cc,uVar8);\n    uVar7 = FUN_00024a90(2);\n    FUN_00043d50(uVar7,0x8001,0,2);\n    FUN_0003b370(iVar5);\n    return;\n  }" ({ "{") (if_statement "if (*(int *)(DAT_00077754 + 0xc) != 0) {\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }" (if "if") (parenthesized_expression "(*(int *)(DAT_00077754 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(DAT_00077754 + 0xc) != 0" (pointer_expression "*(int *)(DAT_00077754 + 0xc)" (* "*") (cast_expression "(int *)(DAT_00077754 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00077754 + 0xc)" (( "(") (binary_expression "DAT_00077754 + 0xc" (identifier "DAT_00077754") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));\n      sVar13 = strlen(pcVar12);\n      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);\n      memcpy(pvVar14,pcVar12,sVar13);\n      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;\n    }" ({ "{") (expression_statement "pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));" (assignment_expression "pcVar12 = (char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4))" (identifier "pcVar12") (= "=") (cast_expression "(char *)FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00035180(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4))" (identifier "FUN_00035180") (argument_list "(*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4))" (( "(") (pointer_expression "*(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4)" (* "*") (cast_expression "(undefined4 *)\n                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4)" (( "(") (binary_expression "DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4" (identifier "DAT_00077748") (+ "+") (binary_expression "*(int *)(DAT_00077754 + 0xc) * 4" (pointer_expression "*(int *)(DAT_00077754 + 0xc)" (* "*") (cast_expression "(int *)(DAT_00077754 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00077754 + 0xc)" (( "(") (binary_expression "DAT_00077754 + 0xc" (identifier "DAT_00077754") (+ "+") (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_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" (identifier "pvVar14") (= "=") (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024a90(sVar13 + 1)" (identifier "FUN_00024a90") (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_00077754 + 8));" (assignment_expression "sVar13 = strlen(*(char **)(DAT_00077754 + 8))" (identifier "sVar13") (= "=") (call_expression "strlen(*(char **)(DAT_00077754 + 8))" (identifier "strlen") (argument_list "(*(char **)(DAT_00077754 + 8))" (( "(") (pointer_expression "*(char **)(DAT_00077754 + 8)" (* "*") (cast_expression "(char **)(DAT_00077754 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_00077754 + 8)" (( "(") (binary_expression "DAT_00077754 + 8" (identifier "DAT_00077754") (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (expression_statement "pvVar14 = (void *)FUN_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" (identifier "pvVar14") (= "=") (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024a90(sVar13 + 1)" (identifier "FUN_00024a90") (argument_list "(sVar13 + 1)" (( "(") (binary_expression "sVar13 + 1" (identifier "sVar13") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);" (call_expression "memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1)" (identifier "memcpy") (argument_list "(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1)" (( "(") (identifier "pvVar14") (, ",") (pointer_expression "*(void **)(DAT_00077754 + 8)" (* "*") (cast_expression "(void **)(DAT_00077754 + 8)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_00077754 + 8)" (( "(") (binary_expression "DAT_00077754 + 8" (identifier "DAT_00077754") (+ "+") (number_literal "8")) () ")")))) (, ",") (binary_expression "sVar13 + 1" (identifier "sVar13") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "uVar6 = FUN_00038b00();" (assignment_expression "uVar6 = FUN_00038b00()" (identifier "uVar6") (= "=") (call_expression "FUN_00038b00()" (identifier "FUN_00038b00") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar8 = getpwd();" (assignment_expression "uVar8 = getpwd()" (identifier "uVar8") (= "=") (call_expression "getpwd()" (identifier "getpwd") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar12 = (char *)FUN_00035180(uVar8);" (assignment_expression "pcVar12 = (char *)FUN_00035180(uVar8)" (identifier "pcVar12") (= "=") (cast_expression "(char *)FUN_00035180(uVar8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00035180(uVar8)" (identifier "FUN_00035180") (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_00024a90(sVar13 + 1);" (assignment_expression "pvVar14 = (void *)FUN_00024a90(sVar13 + 1)" (identifier "pvVar14") (= "=") (cast_expression "(void *)FUN_00024a90(sVar13 + 1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024a90(sVar13 + 1)" (identifier "FUN_00024a90") (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 "uVar17 = FUN_00038b00();" (assignment_expression "uVar17 = FUN_00038b00()" (identifier "uVar17") (= "=") (call_expression "FUN_00038b00()" (identifier "FUN_00038b00") (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      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    } while (uVar18 == 0);" (do "do") (compound_statement "{\n      puVar22 = puVar20;\n      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;\n      uVar18 = uVar25 & 0x80808080;\n      puVar20 = puVar22 + 1;\n    }" ({ "{") (expression_statement "puVar22 = puVar20;" (assignment_expression "puVar22 = puVar20" (identifier "puVar22") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;" (assignment_expression "uVar25 = *puVar22 + 0xfefefeff & ~*puVar22" (identifier "uVar25") (= "=") (binary_expression "*puVar22 + 0xfefefeff & ~*puVar22" (binary_expression "*puVar22 + 0xfefefeff" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (+ "+") (number_literal "0xfefefeff")) (& "&") (unary_expression "~*puVar22" (~ "~") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))))) (; ";")) (expression_statement "uVar18 = uVar25 & 0x80808080;" (assignment_expression "uVar18 = uVar25 & 0x80808080" (identifier "uVar18") (= "=") (binary_expression "uVar25 & 0x80808080" (identifier "uVar25") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar20 = puVar22 + 1;" (assignment_expression "puVar20 = puVar22 + 1" (identifier "puVar20") (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar18 == 0)" (( "(") (binary_expression "uVar18 == 0" (identifier "uVar18") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar32 = (uVar25 & 0x8080) == 0;" (assignment_expression "bVar32 = (uVar25 & 0x8080) == 0" (identifier "bVar32") (= "=") (binary_expression "(uVar25 & 0x8080) == 0" (parenthesized_expression "(uVar25 & 0x8080)" (( "(") (binary_expression "uVar25 & 0x8080" (identifier "uVar25") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar32) {\n      uVar18 = uVar18 >> 0x10;\n    }" (if "if") (parenthesized_expression "(bVar32)" (( "(") (identifier "bVar32") () ")")) (compound_statement "{\n      uVar18 = uVar18 >> 0x10;\n    }" ({ "{") (expression_statement "uVar18 = uVar18 >> 0x10;" (assignment_expression "uVar18 = uVar18 >> 0x10" (identifier "uVar18") (= "=") (binary_expression "uVar18 >> 0x10" (identifier "uVar18") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar32) {\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }" (if "if") (parenthesized_expression "(bVar32)" (( "(") (identifier "bVar32") () ")")) (compound_statement "{\n      puVar20 = (uint *)((int)puVar22 + 6);\n    }" ({ "{") (expression_statement "puVar20 = (uint *)((int)puVar22 + 6);" (assignment_expression "puVar20 = (uint *)((int)puVar22 + 6)" (identifier "puVar20") (= "=") (cast_expression "(uint *)((int)puVar22 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + 6)" (( "(") (binary_expression "(int)puVar22 + 6" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;" (assignment_expression "uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2" (identifier "uVar18") (= "=") (binary_expression "(int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2" (binary_expression "(int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18))" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "(-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18))" (( "(") (binary_expression "-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)" (unary_expression "-(int)local_cc" (- "-") (cast_expression "(int)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_cc"))) (- "-") (cast_expression "(uint)CARRY1((byte)uVar18,(byte)uVar18)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY1((byte)uVar18,(byte)uVar18)" (identifier "CARRY1") (argument_list "((byte)uVar18,(byte)uVar18)" (( "(") (cast_expression "(byte)uVar18" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar18")) (, ",") (cast_expression "(byte)uVar18" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar18")) () ")"))))) () ")"))) (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "puVar20 = (uint *)FUN_00024a90(uVar18);" (assignment_expression "puVar20 = (uint *)FUN_00024a90(uVar18)" (identifier "puVar20") (= "=") (cast_expression "(uint *)FUN_00024a90(uVar18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024a90(uVar18)" (identifier "FUN_00024a90") (argument_list "(uVar18)" (( "(") (identifier "uVar18") () ")"))))) (; ";")) (if_statement "if (uVar18 < 4) {\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }\n    else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }" (if "if") (parenthesized_expression "(uVar18 < 4)" (( "(") (binary_expression "uVar18 < 4" (identifier "uVar18") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n      if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }\n    }" ({ "{") (if_statement "if (uVar18 != 0) {\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }\n      }" (if "if") (parenthesized_expression "(uVar18 != 0)" (( "(") (binary_expression "uVar18 != 0" (identifier "uVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined1 *)puVar20 = (undefined1)local_9c[0];\n        if ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 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 ((uVar18 & 2) != 0) {\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }" (if "if") (parenthesized_expression "((uVar18 & 2) != 0)" (( "(") (binary_expression "(uVar18 & 2) != 0" (parenthesized_expression "(uVar18 & 2)" (( "(") (binary_expression "uVar18 & 2" (identifier "uVar18") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);\n        }" ({ "{") (expression_statement "*(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);" (assignment_expression "*(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2)" (pointer_expression "*(undefined2 *)((int)puVar20 + (uVar18 - 2))" (* "*") (cast_expression "(undefined2 *)((int)puVar20 + (uVar18 - 2))" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + (uVar18 - 2))" (( "(") (binary_expression "(int)puVar20 + (uVar18 - 2)" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "(uVar18 - 2)" (( "(") (binary_expression "uVar18 - 2" (identifier "uVar18") (- "-") (number_literal "2")) () ")"))) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(local_a0 + uVar18 + 2)" (* "*") (cast_expression "(undefined2 *)(local_a0 + uVar18 + 2)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a0 + uVar18 + 2)" (( "(") (binary_expression "local_a0 + uVar18 + 2" (binary_expression "local_a0 + uVar18" (identifier "local_a0") (+ "+") (identifier "uVar18")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }\n    }" (else "else") (compound_statement "{\n      *puVar20 = local_9c[0];\n      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);\n      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);\n      puVar26 = (undefined4 *)((int)local_cc - iVar5);\n      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);\n      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -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 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);" (assignment_expression "*(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18)" (pointer_expression "*(undefined4 *)((int)puVar20 + (uVar18 - 4))" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + (uVar18 - 4))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + (uVar18 - 4))" (( "(") (binary_expression "(int)puVar20 + (uVar18 - 4)" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "(uVar18 - 4)" (( "(") (binary_expression "uVar18 - 4" (identifier "uVar18") (- "-") (number_literal "4")) () ")"))) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(local_a0 + uVar18)" (* "*") (cast_expression "(undefined4 *)(local_a0 + uVar18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a0 + uVar18)" (( "(") (binary_expression "local_a0 + uVar18" (identifier "local_a0") (+ "+") (identifier "uVar18")) () ")"))))) (; ";")) (expression_statement "iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);" (assignment_expression "iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc)" (identifier "iVar5") (= "=") (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 - iVar5);" (assignment_expression "puVar26 = (undefined4 *)((int)local_cc - iVar5)" (identifier "puVar26") (= "=") (cast_expression "(undefined4 *)((int)local_cc - iVar5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_cc - iVar5)" (( "(") (binary_expression "(int)local_cc - iVar5" (cast_expression "(int)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_cc")) (- "-") (identifier "iVar5")) () ")")))) (; ";")) (expression_statement "puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);" (assignment_expression "puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc)" (identifier "puVar30") (= "=") (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 (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }" (for "for") (( "(") (assignment_expression "uVar18 = iVar5 + uVar18 >> 2" (identifier "uVar18") (= "=") (binary_expression "iVar5 + uVar18 >> 2" (binary_expression "iVar5 + uVar18" (identifier "iVar5") (+ "+") (identifier "uVar18")) (>> ">>") (number_literal "2"))) (; ";") (binary_expression "uVar18 != 0" (identifier "uVar18") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar18 = uVar18 - 1" (identifier "uVar18") (= "=") (binary_expression "uVar18 - 1" (identifier "uVar18") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n        *puVar30 = *puVar26;\n        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;\n        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      }" ({ "{") (expression_statement "*puVar30 = *puVar26;" (assignment_expression "*puVar30 = *puVar26" (pointer_expression "*puVar30" (* "*") (identifier "puVar30")) (= "=") (pointer_expression "*puVar26" (* "*") (identifier "puVar26"))) (; ";")) (expression_statement "puVar26 = puVar26 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar26 = puVar26 + (uint)bVar34 * -2 + 1" (identifier "puVar26") (= "=") (binary_expression "puVar26 + (uint)bVar34 * -2 + 1" (binary_expression "puVar26 + (uint)bVar34 * -2" (identifier "puVar26") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar30 = puVar30 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar30 = puVar30 + (uint)bVar34 * -2 + 1" (identifier "puVar30") (= "=") (binary_expression "puVar30 + (uint)bVar34 * -2 + 1" (binary_expression "puVar30 + (uint)bVar34 * -2" (identifier "puVar30") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar8 = FUN_0001a440();" (assignment_expression "uVar8 = FUN_0001a440()" (identifier "uVar8") (= "=") (call_expression "FUN_0001a440()" (identifier "FUN_0001a440") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar5 = local_b0;" (assignment_expression "iVar5 = local_b0" (identifier "iVar5") (= "=") (identifier "local_b0")) (; ";")) (expression_statement "uVar16 = FUN_00024a90(2);" (assignment_expression "uVar16 = FUN_00024a90(2)" (identifier "uVar16") (= "=") (call_expression "FUN_00024a90(2)" (identifier "FUN_00024a90") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (; ";")) (expression_statement "FUN_00043d50(uVar16,2,0,2);" (call_expression "FUN_00043d50(uVar16,2,0,2)" (identifier "FUN_00043d50") (argument_list "(uVar16,2,0,2)" (( "(") (identifier "uVar16") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "local_9c[0] = FUN_00036760(uVar9);" (assignment_expression "local_9c[0] = FUN_00036760(uVar9)" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "FUN_00036760(uVar9)" (identifier "FUN_00036760") (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_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(local_cc,uVar8)" (identifier "FUN_000312d0") (argument_list "(local_cc,uVar8)" (( "(") (identifier "local_cc") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "FUN_00024df0(DAT_00077734);" (call_expression "FUN_00024df0(DAT_00077734)" (identifier "FUN_00024df0") (argument_list "(DAT_00077734)" (( "(") (identifier "DAT_00077734") () ")"))) (; ";")) (expression_statement "FUN_0001a4e0();" (call_expression "FUN_0001a4e0()" (identifier "FUN_0001a4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_9c[0] = FUN_00036760(uVar7);" (assignment_expression "local_9c[0] = FUN_00036760(uVar7)" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "FUN_00036760(uVar7)" (identifier "FUN_00036760") (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_000312d0(local_cc,4);" (call_expression "FUN_000312d0(local_cc,4)" (identifier "FUN_000312d0") (argument_list "(local_cc,4)" (( "(") (identifier "local_cc") (, ",") (number_literal "4") () ")"))) (; ";")) (if_statement "if (*DAT_0007775c == 0) {\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }\n    else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }" (if "if") (parenthesized_expression "(*DAT_0007775c == 0)" (( "(") (binary_expression "*DAT_0007775c == 0" (pointer_expression "*DAT_0007775c" (* "*") (identifier "DAT_0007775c")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_b0 = DAT_0007775c[3];\n      local_a0[0] = 3;\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n      local_a0[0] = 3;\n      local_b0 = DAT_0007775c[4];\n      local_a8 = 0;\n      local_a4 = (undefined1  [4])0x0;\n      FUN_000312d0(&local_b0,DAT_00077734);\n    }" ({ "{") (expression_statement "local_b0 = DAT_0007775c[3];" (assignment_expression "local_b0 = DAT_0007775c[3]" (identifier "local_b0") (= "=") (subscript_expression "DAT_0007775c[3]" (identifier "DAT_0007775c") ([ "[") (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_000312d0(&local_b0,DAT_00077734);" (call_expression "FUN_000312d0(&local_b0,DAT_00077734)" (identifier "FUN_000312d0") (argument_list "(&local_b0,DAT_00077734)" (( "(") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) (, ",") (identifier "DAT_00077734") () ")"))) (; ";")) (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_0007775c[4];" (assignment_expression "local_b0 = DAT_0007775c[4]" (identifier "local_b0") (= "=") (subscript_expression "DAT_0007775c[4]" (identifier "DAT_0007775c") ([ "[") (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_000312d0(&local_b0,DAT_00077734);" (call_expression "FUN_000312d0(&local_b0,DAT_00077734)" (identifier "FUN_000312d0") (argument_list "(&local_b0,DAT_00077734)" (( "(") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) (, ",") (identifier "DAT_00077734") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }" (else "else") (compound_statement "{\n      local_9c[0] = FUN_00036760(local_ec);\n      local_8c = 3;\n      local_9c[2] = 0;\n      local_9c[3] = 0;\n      FUN_000312d0(local_cc,uVar8);\n    }" ({ "{") (expression_statement "local_9c[0] = FUN_00036760(local_ec);" (assignment_expression "local_9c[0] = FUN_00036760(local_ec)" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "FUN_00036760(local_ec)" (identifier "FUN_00036760") (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_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(local_cc,uVar8)" (identifier "FUN_000312d0") (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] = uVar24;" (assignment_expression "local_9c[0] = uVar24" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar24")) (; ";")) (expression_statement "FUN_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(local_cc,uVar8)" (identifier "FUN_000312d0") (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] = uVar6;" (assignment_expression "local_9c[0] = uVar6" (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "FUN_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(local_cc,uVar8)" (identifier "FUN_000312d0") (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_000312d0(local_cc,uVar8);" (call_expression "FUN_000312d0(local_cc,uVar8)" (identifier "FUN_000312d0") (argument_list "(local_cc,uVar8)" (( "(") (identifier "local_cc") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "uVar7 = FUN_00024a90(2);" (assignment_expression "uVar7 = FUN_00024a90(2)" (identifier "uVar7") (= "=") (call_expression "FUN_00024a90(2)" (identifier "FUN_00024a90") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (; ";")) (expression_statement "FUN_00043d50(uVar7,0x8001,0,2);" (call_expression "FUN_00043d50(uVar7,0x8001,0,2)" (identifier "FUN_00043d50") (argument_list "(uVar7,0x8001,0,2)" (( "(") (identifier "uVar7") (, ",") (number_literal "0x8001") (, ",") (number_literal "0") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "FUN_0003b370(iVar5);" (call_expression "FUN_0003b370(iVar5)" (identifier "FUN_0003b370") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);" (call_expression "FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6)" (identifier "FUN_0002be50") (argument_list "("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6)" (( "(") (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 "iVar5 + uVar6" (identifier "iVar5") (+ "+") (identifier "uVar6")) () ")"))) (; ";")) (} "}")))

/* 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_12;
  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 var_8;
  type_7 *sec;
  char *var_27;
  char *var_28;
  type_8 *psVar11;
  type_8 *psVar12;
  size_t var_24;
  char *pcVar14;
  type_3 paVar15;
  type_4 *var_59;
  type_6 var_49;
  type_3 paVar18;
  type_3 secptr;
  type_6 var_44;
  type_6 var_46;
  type_8 *psVar21;
  type_8 *psVar22;
  int var_67;
  type_9 *peVar24;
  type_8 **ppsVar25;
  int var_65;
  type_10 *var_38;
  type_6 var_50;
  type_11 *var_85;
  type_10 *var_39;
  type_12 *var_11;
  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_6 var_63;
  int var_61;
  type_6 var_51;
  type_8 *local_f8;
  type_3 var_76;
  type_6 var_45;
  type_6 var_62;
  int var_60;
  type_6 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_8 = var_7(stdoutput);
  var_77 = var_8 >> 3;
  sec = var_9(".debug_line",0);
  var_10(stdoutput,sec,0x2008);
  for (var_11 = var_5; var_11 != (type_12 *)0x0; var_11 = var_11->next) {
    pplVar2 = var_11->head->ptail;
    for (var_12 = var_11->head->next; var_12 != (type_2 *)0x0; var_12 = var_12->next) {
      *pplVar2 = var_12->head;
      pplVar2 = var_12->ptail;
    }
  }
  var_27 = (char *)var_13(sec,&exp_1);
  var_28 = var_14(2);
  var_15(var_28,2,2);
  psVar11 = var_16();
  psVar12 = var_16();
  exp_1._16_1_ = 0x14;
  exp_1.X_add_number._0_4_ = 0;
  exp_1.X_add_number._4_4_ = 0;
  psVar22 = exp_1.X_add_symbol;
  exp_1.X_add_symbol = psVar12;
  exp_1.X_op_symbol = psVar11;
  var_17(&exp_1,(type_6)var_27);
  var_18(psVar11);
  var_8 = 1;
  var_19(ppc_dwarf2_line_min_insn_length);
  var_19(1);
  var_19(-5);
  var_19(0xe);
  var_19(0xd);
  var_19(0);
  var_19(1);
  var_19(1);
  var_19(1);
  var_19(1);
  var_19(0);
  var_19(0);
  var_19(0);
  var_19(1);
  var_19(0);
  var_19(0);
  var_19(1);
  if (1 < var_20) {
    do {
      ppcVar1 = var_21 + var_8;
      var_8 = var_8 + 1;
      var_27 = var_22(*ppcVar1);
      var_24 = var_23(var_27);
      var_28 = var_14(var_24 + 1);
      var_25(var_28,var_27,var_24 + 1);
    } while (var_8 < var_20);
  }
  var_28 = (char *)0x1;
  var_19(0);
  if (1 < var_26) {
    do {
      while (var_27 = files[(int)var_28].filename, var_27 != (char *)0x0) {
        var_24 = var_23(var_27);
        pcVar14 = var_14(var_24 + 1);
        var_25(pcVar14,var_27,var_24 + 1);
        var_28 = var_28 + 1;
        var_29(var_30(var_27,pcVar14));
        var_29(var_30(var_27,pcVar14));
        var_29(var_30(var_27,pcVar14));
        if (var_26 <= var_28) goto LAB_0001c398;
      }
      pcVar14 = (char *)var_31(0,"unassigned file number %ld",5);
      var_27 = var_28;
      var_32(pcVar14);
      files[(int)var_28].filename = "";
      var_28 = var_28 + 1;
    } while (var_28 < var_26);
  }
LAB_0001c398:
  var_19(0);
  var_18(psVar12);
  var_33 = PTR__bfd_std_section_0006efb4;
  for (var_11 = var_5; var_11 != (type_12 *)0x0; var_11 = var_11->next) {
    var_2 = var_11->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_11->head->head;
      var_40 = false;
      bVar35 = var_37 == 0;
      if (!bVar35) {
        var_4 = 6;
        var_38 = (type_10 *)var_2->name;
        var_39 = &DAT_0004e3b5;
        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_6)bVar36 * -2 + 1;
          var_39 = var_39 + (type_6)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);
        }
        paVar15 = var_42(var_27,0);
        var_27 = (char *)0x0;
        var_43(paVar15,0);
      }
      local_f8 = (type_8 *)0x0;
      var_63 = 0;
      var_61 = 0;
      var_56 = (type_4 *)0x0;
      var_51 = 1;
      var_52 = 1;
      var_45 = 1;
      var_8 = 0;
      var_50 = 0;
      do {
        var_44 = (local_c4->loc).filenum;
        if (var_44 != var_45) {
          uVar40 = 4;
          var_19(4);
          var_29(var_30(var_27,uVar40));
        }
        var_46 = (local_c4->loc).column;
        if (var_46 != var_8) {
          uVar40 = 5;
          var_19(5);
          var_29(var_30(var_27,uVar40));
        }
        if ((local_c4->loc).discriminator != 0) {
          var_19(0);
          var_8 = var_47((type_16)(local_c4->loc).discriminator,0);
          var_27 = (char *)0x0;
          var_49 = var_47((type_16)(var_8 + 1),1);
          var_28 = var_14(var_49);
          var_48(var_28,(type_16)(var_8 + 1),1);
          uVar40 = 4;
          var_19(4);
          var_29(var_30(var_27,uVar40));
        }
        var_49 = (local_c4->loc).isa;
        if (var_49 != var_50) {
          uVar40 = 0xc;
          var_19(0xc);
          var_29(var_30(var_27,uVar40));
        }
        var_8 = (local_c4->loc).flags;
        var_50 = var_8;
        if (((var_51 ^ var_8) & 1) != 0) {
          var_19(6);
          var_50 = (local_c4->loc).flags;
          var_51 = var_8;
        }
        if ((var_50 & 2) != 0) {
          var_19(7);
          var_50 = (local_c4->loc).flags;
        }
        if ((var_50 & 4) != 0) {
          var_19(10);
          var_50 = (local_c4->loc).flags;
        }
        if ((var_50 & 8) != 0) {
          var_19(0xb);
        }
        psVar11 = local_c4->label;
        var_4 = (local_c4->loc).line - var_52;
        var_59 = var_53(psVar11);
        var_55 = var_54(psVar11);
        var_62 = (type_6)var_55;
        var_60 = (int)(var_55 >> 0x20);
        if (var_56 == (type_4 *)0x0) {
LAB_0001d2b0:
          uVar40 = 0;
          var_19(0);
          var_29(var_30(var_27,uVar40));
          var_19(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 = psVar11;
          var_17(&exp,var_77);
          var_57(var_4,var_30(var_27,peVar41));
        }
        else {
          if (((local_c4->loc).view == var_58) && (var_58 != (type_8 *)0x0)) {
            if (var_59 == var_56) {
              if (var_60 != var_61 || var_62 != var_63) goto LAB_0001c5d8;
            }
            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_8 = (type_6)(var_63 < (type_6)oVar39), var_67 = var_61 - var_65,
                    (var_66(var_61,var_65) != var_66(var_67,var_8)) !=
                    (int)(var_67 - var_8) < 0)) goto LAB_0001c5e8;
            goto LAB_0001d2b0;
          }
          if (var_59 == var_56) {
LAB_0001c5d8:
            if (var_68 != 0) goto LAB_0001c5e8;
            var_57(var_4,var_30(sec,psVar22));
          }
          else {
LAB_0001c5e8:
            var_69(var_4,psVar11,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_8 = var_46;
        var_50 = var_49;
        local_f8 = psVar11;
        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,psVar22));
      }
      else {
        var_27 = (char *)var_55;
        psVar12 = var_73(var_2,var_55,var_72);
        var_69(0x7fffffff,psVar12,psVar11);
      }
    }
  }
  if (var_37 != 0) {
    var_2 = var_42(".debug_line_end",0);
    var_43(var_2,0);
  }
  var_18(psVar22);
  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_9(".debug_info",0);
  paVar15 = var_9(".debug_abbrev",0);
  paVar18 = var_9(".debug_aranges",0);
  secptr = var_9(".debug_str",0);
  var_10(stdoutput,var_2,0x2008);
  var_10(stdoutput,paVar15,0x2008);
  var_10(stdoutput,paVar18,0x2008);
  var_10(stdoutput,secptr,0x1802008);
  var_50 = var_77;
  secptr->entsize = 1;
  var_50 = var_50 * 2;
  var_8 = 0;
  if (var_50 != 0) {
    for (; (var_50 >> var_8 & 1) == 0; var_8 = var_8 + 1) {
    }
  }
  if (var_50 == 0) {
    var_8 = 0xffffffff;
  }
  var_75(paVar18,var_8);
  var_76 = (type_3)var_5->next;
  if (var_76 == (type_3)0x0) goto LAB_0001caf4;
  var_76 = var_9(".debug_ranges",0);
  var_10(stdoutput,var_76,0x2008);
  var_50 = var_77 * 2;
  var_8 = 0;
  if (var_50 != 0) {
    for (; (var_50 >> var_8 & 1) == 0; var_8 = var_8 + 1) {
    }
  }
  if (var_50 == 0) {
    var_8 = 0xffffffff;
  }
  var_75(var_76,var_8);
  var_8 = var_77;
  var_43(var_76,0);
  if (var_8 == 0) {
    if (var_5 == (type_12 *)0x0) goto LAB_0001caf4;
LAB_0001c9b0:
    var_11 = var_5;
    do {
                    /* WARNING: Load size is inaccurate */
      psVar11 = var_73(var_11->seg,0,(type_4 *)**var_11->seg->userdata);
      seg = var_11->seg;
      var_11->text_start = psVar11;
                    /* 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);
      psVar12 = var_73(seg,var_55,var_59);
      var_11->text_end = psVar12;
      exp._16_1_ = 3;
      exp.X_add_number._0_4_ = 0;
      exp.X_add_number._4_4_ = 0;
      exp.X_add_symbol = psVar11;
      var_17(&exp,var_8);
      exp._16_1_ = 3;
      exp.X_add_number._0_4_ = 0;
      exp.X_add_number._4_4_ = 0;
      exp.X_add_symbol = psVar12;
      var_17(&exp,var_8);
      var_11 = var_11->next;
    } while (var_11 != (type_12 *)0x0);
    if (var_8 == 0) goto LAB_0001caf4;
  }
  else {
    var_50 = 0;
    do {
      var_50 = var_50 + 1;
      var_19(0xff);
    } while (var_8 != var_50);
    var_50 = 0;
    do {
      var_50 = var_50 + 1;
      var_19(0);
    } while (var_8 != var_50);
    if (var_5 != (type_12 *)0x0) goto LAB_0001c9b0;
  }
  var_50 = 0;
  do {
    var_50 = var_50 + 1;
    var_19(0);
  } while (var_8 != var_50);
  var_50 = 0;
  do {
    var_50 = var_50 + 1;
    var_19(0);
  } while (var_8 != var_50);
LAB_0001caf4:
  var_8 = var_77;
  local_cc = &exp;
  var_44 = var_13(paVar18,&exp_1);
  var_4 = exp_1.X_add_number._4_4_;
  var_50 = (type_6)exp_1.X_add_number;
  psVar11 = exp_1.X_add_symbol;
  var_27 = var_14(2);
  var_15(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_17(local_cc,var_44);
  var_49 = 2 - var_50;
  var_46 = var_44 + var_49;
  var_67 = ((int)var_44 >> 0x1f) + (-(type_6)(2 < var_50) - var_4) + (type_6)var_79(var_44,var_49);
  var_19(var_8);
  var_19(0);
  var_50 = var_46 + 3;
  var_4 = var_67 + (type_6)(0xfffffffc < var_46);
  nchars = var_8 * 2;
  uVar38 = var_80(var_46 + 2,var_67 + (type_6)(0xfffffffd < var_46),nchars,0);
  var_11 = var_5;
  if (-(int)((type_16)uVar38 >> 0x20) < (int)(type_6)((int)uVar38 != 0)) {
    do {
      var_19(0);
      bVar34 = 0xfffffffe < var_50;
      uVar38 = var_80(var_50,var_4,nchars,0);
      var_50 = var_50 + 1;
      var_4 = var_4 + (type_6)bVar34;
      var_11 = var_5;
    } while (-(int)((type_16)uVar38 >> 0x20) < (int)(type_6)((int)uVar38 != 0));
  }
  for (; var_11 != (type_12 *)0x0; var_11 = var_11->next) {
                    /* WARNING: Load size is inaccurate */
    psVar12 = var_73(var_11->seg,0,(type_4 *)**var_11->seg->userdata);
    paVar18 = var_11->seg;
    var_11->text_start = psVar12;
                    /* WARNING: Load size is inaccurate */
    var_4 = *paVar18->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)&paVar18->userdata);
    psVar21 = var_73(paVar18,var_55,var_59);
    var_11->text_end = psVar21;
    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 = psVar12;
    var_17(&exp_1,var_8);
    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 = psVar21;
    exp_1.X_op_symbol = psVar12;
    var_17(&exp_1,var_8);
  }
  var_27 = var_14(nchars);
  var_15(var_27,0,var_8);
  var_15(var_27 + var_8,0,var_8);
  var_18(psVar11);
  uVar42 = 0;
  paVar18 = paVar15;
  var_43(paVar15,0);
  var_29(var_30(uVar42,paVar18));
  var_29(var_30(uVar42,paVar18));
  uVar40 = 0;
  var_19(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,psVar22));
    var_29(var_30(sec,psVar22));
    var_29(var_30(sec,psVar22));
    var_29(var_30(sec,psVar22));
  }
  else {
    var_29(var_30(sec,psVar22));
    var_29(var_30(sec,psVar22));
  }
  var_29(var_30(sec,psVar22));
  var_29(var_30(sec,psVar22));
  var_29(var_30(sec,psVar22));
  var_29(var_30(sec,psVar22));
  var_29(var_30(sec,psVar22));
  var_29(var_30(sec,psVar22));
  var_29(var_30(sec,psVar22));
  var_29(var_30(sec,psVar22));
  var_29(var_30(sec,psVar22));
  var_29(var_30(sec,psVar22));
  var_19(0);
  var_43(secptr,0);
  psVar22 = var_81();
  if (var_26 != 0) {
    if (files[1].dir != 0) {
      var_27 = var_22(var_21[files[1].dir]);
      var_24 = var_23(var_27);
      var_28 = var_14(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_14(var_24 + 1);
    var_25(var_27,files[1].filename,var_24 + 1);
    psVar11 = var_81();
    var_27 = (char *)var_82();
    var_27 = var_22(var_27);
    var_24 = var_23(var_27);
    var_28 = var_14(var_24 + 1);
    var_25(var_28,var_27,var_24 + 1);
    psVar12 = var_81();
    var_83((char *)local_cc,"GNU AS %s","2.31.1");
    peVar41 = local_cc;
    do {
      peVar24 = peVar41;
      var_50 = (type_6)((int)&peVar24->X_add_symbol[-0x4f141].sy_obj.versioned_name + 3U) &
               ~(type_6)peVar24->X_add_symbol;
      var_8 = var_50 & 0x80808080;
      peVar41 = (type_9 *)&peVar24->X_op_symbol;
    } while (var_8 == 0);
    bVar34 = (var_50 & 0x8080) == 0;
    if (bVar34) {
      var_8 = var_8 >> 0x10;
    }
    ppsVar25 = &peVar24->X_op_symbol;
    if (bVar34) {
      ppsVar25 = (type_8 **)((int)&peVar24->X_op_symbol + 2);
    }
    var_8 = (int)ppsVar25 + (-(int)local_cc - (type_6)var_84((type_10)var_8,(type_10)var_8)) + -2;
    var_27 = var_14(var_8);
    if (var_8 < 4) {
      if (var_8 != 0) {
        *var_27 = (char)exp.X_add_symbol;
        if ((var_8 & 2) != 0) {
          *(type_17 *)(var_27 + (var_8 - 2)) = *(type_17 *)((int)&exp_1 + var_8 + 0x12);
        }
      }
    }
    else {
      *(type_8 **)var_27 = exp.X_add_symbol;
      *(type_11 *)(var_27 + (var_8 - 4)) = *(type_11 *)((int)&exp_1 + var_8 + 0x10);
      var_4 = (int)var_27 - (int)((type_6)(var_27 + 4) & 0xfffffffc);
      var_85 = (type_11 *)((int)local_cc - var_4);
      var_86 = (type_11 *)((type_6)(var_27 + 4) & 0xfffffffc);
      for (var_8 = var_4 + var_8 >> 2; var_8 != 0; var_8 = var_8 - 1) {
        *var_86 = *var_85;
        var_85 = var_85 + (type_6)bVar36 * -2 + 1;
        var_86 = var_86 + (type_6)bVar36 * -2 + 1;
      }
    }
    var_44 = var_13(var_2,&exp_1);
    psVar21 = exp_1.X_add_symbol;
    var_27 = var_14(2);
    var_15(var_27,2,2);
    exp.X_add_symbol = var_78(paVar15);
    exp._16_1_ = 3;
    exp.X_add_number._0_4_ = 0;
    exp.X_add_number._4_4_ = 0;
    var_50 = var_44;
    var_17(local_cc,var_44);
    var_8 = var_77;
    var_19(var_77);
    var_29(var_30(var_50,var_8));
    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_17(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_17(&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_17(&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_17(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 = psVar22;
    var_17(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_17(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 = psVar12;
    var_17(local_cc,var_44);
    var_27 = var_14(2);
    var_15(var_27,0x8001,2);
    var_18(psVar21);
    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: (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: (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: (primitive_type) 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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator 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 (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 (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: (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 (assignment_expression left: (identifier) right: (number_literal))) (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)))) (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;
  longlong lVar2;
  undefined *puVar3;
  undefined1 auVar4 [4];
  int iVar5;
  uint uVar6;
  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;
  int iVar19;
  uint *puVar20;
  undefined4 extraout_ECX;
  int iVar21;
  uint *puVar22;
  byte *pbVar23;
  uint uVar24;
  uint uVar25;
  undefined4 *puVar26;
  byte *pbVar27;
  int *piVar28;
  int iVar29;
  undefined4 *puVar30;
  bool bVar31;
  bool bVar32;
  bool bVar33;
  byte bVar34;
  longlong lVar35;
  undefined8 uVar36;
  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;
  
  bVar34 = 0;
  uStack_14 = 0x1bfdb;
  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_info");
  bVar32 = true;
  if (iVar5 != 0) {
    iVar5 = FUN_000368e0(iVar5);
    bVar32 = iVar5 == 0;
  }
  iVar5 = bfd_get_section_by_name(DAT_00077ec4,".debug_line");
  if ((iVar5 != 0) && (iVar5 = FUN_000368e0(iVar5), iVar5 != 0)) {
    if (DAT_0007775c == (int *)0x0) {
      return;
    }
                    /* WARNING: Subroutine does not return */
    FUN_0002bdd0("duplicate .debug_line sections");
  }
  if ((DAT_0007775c == (int *)0x0) && (bVar32)) {
    return;
  }
  uVar6 = bfd_arch_bits_per_address(DAT_00077ec4);
  DAT_00077734 = uVar6 >> 3;
  uVar7 = FUN_000366b0(".debug_line",0);
  bfd_set_section_flags(DAT_00077ec4,uVar7,0x2008);
  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {
    puVar26 = (undefined4 *)((undefined4 *)piVar28[2])[3];
    for (puVar30 = *(undefined4 **)piVar28[2]; puVar30 != (undefined4 *)0x0;
        puVar30 = (undefined4 *)*puVar30) {
      *puVar26 = puVar30[2];
      puVar26 = (undefined4 *)puVar30[3];
    }
  }
  uVar8 = FUN_0001a440();
  iVar5 = local_b0;
  uVar9 = FUN_00024a90(2);
  FUN_00043d50(uVar9,2,0,2);
  iVar10 = FUN_00038ab0();
  iVar11 = FUN_00038ab0();
  local_a0[0] = 0x14;
  local_a8 = 0;
  local_a4 = (undefined1  [4])0x0;
  local_b0 = iVar11;
  local_ac = iVar10;
  FUN_000312d0(&local_b0,uVar8);
  FUN_0003b370(iVar10);
  uVar6 = 1;
  FUN_00024df0(DAT_00078070);
  FUN_00024df0(1);
  FUN_00024df0(0xfffffffb);
  FUN_00024df0(0xe);
  FUN_00024df0(0xd);
  FUN_00024df0(0);
  FUN_00024df0(1);
  FUN_00024df0(1);
  FUN_00024df0(1);
  FUN_00024df0(1);
  FUN_00024df0(0);
  FUN_00024df0(0);
  FUN_00024df0(0);
  FUN_00024df0(1);
  FUN_00024df0(0);
  FUN_00024df0(0);
  FUN_00024df0(1);
  if (1 < DAT_00077744) {
    do {
      iVar10 = uVar6 * 4;
      uVar6 = uVar6 + 1;
      pcVar12 = (char *)FUN_00035180(*(undefined4 *)(DAT_00077748 + iVar10));
      sVar13 = strlen(pcVar12);
      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);
      memcpy(pvVar14,pcVar12,sVar13 + 1);
    } while (uVar6 < DAT_00077744);
  }
  uVar6 = 1;
  FUN_00024df0(0);
  if (1 < DAT_00077750) {
    do {
      while (pcVar12 = *(char **)(DAT_00077754 + uVar6 * 8), pcVar12 != (char *)0x0) {
        sVar13 = strlen(pcVar12);
        pvVar14 = (void *)FUN_00024a90(sVar13 + 1);
        memcpy(pvVar14,pcVar12,sVar13 + 1);
        uVar6 = uVar6 + 1;
        FUN_0001a4e0();
        FUN_0001a4e0();
        FUN_0001a4e0();
        if (DAT_00077750 <= uVar6) goto LAB_0001c398;
      }
      uVar8 = dcgettext(0,"unassigned file number %ld",5);
      FUN_0002bd30(uVar8,uVar6);
      *(undefined **)(DAT_00077754 + uVar6 * 8) = &DAT_00050b45;
      uVar6 = uVar6 + 1;
    } while (uVar6 < DAT_00077750);
  }
LAB_0001c398:
  FUN_00024df0(0);
  FUN_0003b370(iVar11);
  puVar3 = PTR__bfd_std_section_0006efb4;
  for (piVar28 = DAT_0007775c; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {
    puVar26 = (undefined4 *)piVar28[1];
    if ((((puVar26 == (undefined4 *)(puVar3 + 0xc0)) || (puVar26 == (undefined4 *)(puVar3 + 0x180)))
        || (puVar26 == DAT_00077d90)) || (puVar26 == DAT_00077ce0)) {
      FUN_0002bc50("dwarf line number information for %s ignored",*puVar26);
    }
    else {
      local_c4 = *(int **)(piVar28[2] + 8);
      bVar31 = false;
      bVar33 = DAT_00077d94 == 0;
      if (!bVar33) {
        iVar10 = 6;
        pbVar23 = (byte *)*puVar26;
        pbVar27 = (byte *)".text";
        do {
          if (iVar10 == 0) break;
          iVar10 = iVar10 + -1;
          bVar31 = *pbVar23 < *pbVar27;
          bVar33 = *pbVar23 == *pbVar27;
          pbVar23 = pbVar23 + (uint)bVar34 * -2 + 1;
          pbVar27 = pbVar27 + (uint)bVar34 * -2 + 1;
        } while (bVar33);
        pcVar12 = ".debug_line";
        if ((!bVar31 && !bVar33) != bVar31) {
          pcVar12 = (char *)concat(".debug_line",(byte *)*puVar26,0);
        }
        uVar8 = FUN_000365f0(pcVar12,0);
        FUN_00036710(uVar8,0);
      }
      local_d0 = 0;
      local_100 = 1;
      local_e8 = 1;
      iVar10 = 0;
      iVar11 = 0;
      lVar2 = 0;
      do {
        local_108 = (int)((ulonglong)lVar2 >> 0x20);
        local_10c = (uint)lVar2;
        iVar29 = local_c4[2];
        if (iVar29 != local_e8) {
          FUN_00024df0(4);
          FUN_0001a4e0();
        }
        iVar21 = local_c4[4];
        if (iVar21 != iVar10) {
          FUN_00024df0(5);
          FUN_0001a4e0();
        }
        if (local_c4[7] != 0) {
          FUN_00024df0(0);
          iVar10 = FUN_00031b10(local_c4[7],0,0);
          uVar8 = FUN_00031b10(iVar10 + 1,0,1);
          uVar8 = FUN_00024a90(uVar8);
          FUN_00031b50(uVar8,iVar10 + 1,0,1);
          FUN_00024df0(4);
          FUN_0001a4e0();
        }
        iVar19 = local_c4[5];
        if (iVar19 != iVar11) {
          FUN_00024df0(0xc);
          FUN_0001a4e0();
        }
        uVar6 = local_c4[6];
        uVar24 = uVar6;
        if (((local_100 ^ uVar6) & 1) != 0) {
          FUN_00024df0(6);
          uVar24 = local_c4[6];
          local_100 = uVar6;
        }
        if ((uVar24 & 2) != 0) {
          FUN_00024df0(7);
          uVar24 = local_c4[6];
        }
        if ((uVar24 & 4) != 0) {
          FUN_00024df0(10);
          uVar24 = local_c4[6];
        }
        if ((uVar24 & 8) != 0) {
          FUN_00024df0(0xb);
        }
        uVar6 = local_c4[1];
        iVar15 = FUN_0003b3c0(uVar6);
        lVar35 = FUN_00039f50(uVar6);
        if (local_d0 == 0) {
LAB_0001d2b0:
          FUN_00024df0(0);
          FUN_0001a4e0();
          FUN_00024df0(2);
          local_8c = 3;
          local_9c[2] = 0;
          local_9c[3] = 0;
          local_9c[0] = uVar6;
          FUN_000312d0(local_9c,DAT_00077734);
          FUN_0001aa30();
        }
        else {
          if ((local_c4[8] == DAT_0007773c) && (DAT_0007773c != 0)) {
            if (iVar15 == local_d0) {
              if (lVar35 != lVar2) goto LAB_0001c5d8;
            }
            else if ((lVar35 != 0) ||
                    (uVar36 = FUN_0001a520(), iVar11 = (int)((ulonglong)uVar36 >> 0x20),
                    uVar24 = (uint)(local_10c < (uint)uVar36), iVar10 = local_108 - iVar11,
                    (SBORROW4(local_108,iVar11) != SBORROW4(iVar10,uVar24)) !=
                    (int)(iVar10 - uVar24) < 0)) goto LAB_0001c5e8;
            goto LAB_0001d2b0;
          }
          if (iVar15 == local_d0) {
LAB_0001c5d8:
            if (DAT_00077d00 != 0) goto LAB_0001c5e8;
            FUN_0001aa30();
          }
          else {
LAB_0001c5e8:
            FUN_0001a760();
          }
        }
        piVar1 = (int *)*local_c4;
        free(local_c4);
        iVar10 = iVar21;
        iVar11 = iVar19;
        local_e8 = iVar29;
        local_d0 = iVar15;
        local_c4 = piVar1;
        lVar2 = lVar35;
      } while (piVar1 != (int *)0x0);
      iVar10 = *(int *)puVar26[0x20];
      do {
        iVar11 = iVar10;
        iVar10 = *(int *)(iVar11 + 8);
      } while (iVar10 != 0);
      iVar10 = *(int *)(iVar11 + 4);
      uVar36 = FUN_0001a520();
      if ((iVar15 == iVar10) && (DAT_00077d00 == 0)) {
        FUN_0001aa30();
      }
      else {
        FUN_00038ad0(puVar26,uVar36,iVar10);
        FUN_0001a760();
      }
    }
  }
  if (DAT_00077d94 != 0) {
    uVar8 = FUN_000365f0(".debug_line_end",0);
    FUN_00036710(uVar8,0);
  }
  FUN_0003b370(iVar5);
  if (!bVar32) {
    return;
  }
  if (DAT_0007775c == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    FUN_0002be50("../../gas/dwarf2dbg.c",0x89e,"dwarf2_finish",extraout_ECX);
  }
  uVar8 = FUN_000366b0(".debug_info",0);
  uVar9 = FUN_000366b0(".debug_abbrev",0);
  uVar16 = FUN_000366b0(".debug_aranges",0);
  iVar10 = FUN_000366b0(".debug_str",0);
  bfd_set_section_flags(DAT_00077ec4,uVar8,0x2008);
  bfd_set_section_flags(DAT_00077ec4,uVar9,0x2008);
  bfd_set_section_flags(DAT_00077ec4,uVar16,0x2008);
  bfd_set_section_flags(DAT_00077ec4,iVar10,0x1802008);
  uVar6 = DAT_00077734;
  *(undefined4 *)(iVar10 + 0x90) = 1;
  uVar6 = uVar6 * 2;
  iVar5 = 0;
  if (uVar6 != 0) {
    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {
    }
  }
  if (uVar6 == 0) {
    iVar5 = -1;
  }
  FUN_0003f050(uVar16,iVar5);
  local_ec = *DAT_0007775c;
  if (local_ec == 0) goto LAB_0001caf4;
  local_ec = FUN_000366b0(".debug_ranges",0);
  bfd_set_section_flags(DAT_00077ec4,local_ec,0x2008);
  uVar6 = DAT_00077734 * 2;
  iVar5 = 0;
  if (uVar6 != 0) {
    for (; (uVar6 >> iVar5 & 1) == 0; iVar5 = iVar5 + 1) {
    }
  }
  if (uVar6 == 0) {
    iVar5 = -1;
  }
  FUN_0003f050(local_ec,iVar5);
  uVar6 = DAT_00077734;
  FUN_00036710(local_ec,0);
  if (uVar6 == 0) {
    if (DAT_0007775c == (int *)0x0) goto LAB_0001caf4;
LAB_0001c9b0:
    piVar28 = DAT_0007775c;
    do {
      uVar24 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));
      iVar5 = piVar28[1];
      piVar28[3] = uVar24;
      iVar11 = **(int **)(iVar5 + 0x80);
      do {
        iVar29 = iVar11;
        iVar11 = *(int *)(iVar29 + 8);
      } while (iVar11 != 0);
      uVar16 = *(undefined4 *)(iVar29 + 4);
      uVar36 = FUN_0001a520();
      uVar17 = FUN_00038ad0(iVar5,uVar36,uVar16);
      piVar28[4] = uVar17;
      local_8c = 3;
      local_9c[2] = 0;
      local_9c[3] = 0;
      local_9c[0] = uVar24;
      FUN_000312d0(local_9c,uVar6);
      local_8c = 3;
      local_9c[2] = 0;
      local_9c[3] = 0;
      local_9c[0] = uVar17;
      FUN_000312d0(local_9c,uVar6);
      piVar28 = (int *)*piVar28;
    } while (piVar28 != (int *)0x0);
    if (uVar6 == 0) goto LAB_0001caf4;
  }
  else {
    uVar24 = 0;
    do {
      uVar24 = uVar24 + 1;
      FUN_00024df0(0xff);
    } while (uVar6 != uVar24);
    uVar24 = 0;
    do {
      uVar24 = uVar24 + 1;
      FUN_00024df0(0);
    } while (uVar6 != uVar24);
    if (DAT_0007775c != (int *)0x0) goto LAB_0001c9b0;
  }
  uVar24 = 0;
  do {
    uVar24 = uVar24 + 1;
    FUN_00024df0(0);
  } while (uVar6 != uVar24);
  uVar24 = 0;
  do {
    uVar24 = uVar24 + 1;
    FUN_00024df0(0);
  } while (uVar6 != uVar24);
LAB_0001caf4:
  uVar6 = DAT_00077734;
  local_cc = local_9c;
  uVar17 = FUN_0001a440();
  auVar4 = local_a4;
  uVar24 = local_a8;
  iVar11 = local_b0;
  uVar16 = FUN_00024a90(2);
  FUN_00043d50(uVar16,2,0,2);
  local_9c[0] = FUN_00036760(uVar8);
  local_8c = 3;
  local_9c[2] = 0;
  local_9c[3] = 0;
  FUN_000312d0(local_cc,uVar17);
  uVar25 = 2 - uVar24;
  uVar18 = uVar17 + uVar25;
  iVar21 = ((int)uVar17 >> 0x1f) + (-(uint)(2 < uVar24) - (int)auVar4) + (uint)CARRY4(uVar17,uVar25)
  ;
  FUN_00024df0(uVar6);
  FUN_00024df0(0);
  uVar24 = uVar18 + 3;
  iVar29 = iVar21 + (uint)(0xfffffffc < uVar18);
  iVar5 = uVar6 * 2;
  uVar36 = FUN_0004cdb0(uVar18 + 2,iVar21 + (uint)(0xfffffffd < uVar18),iVar5,0);
  piVar28 = DAT_0007775c;
  if (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0)) {
    do {
      FUN_00024df0(0);
      bVar32 = 0xfffffffe < uVar24;
      uVar36 = FUN_0004cdb0(uVar24,iVar29,iVar5,0);
      uVar24 = uVar24 + 1;
      iVar29 = iVar29 + (uint)bVar32;
      piVar28 = DAT_0007775c;
    } while (-(int)((ulonglong)uVar36 >> 0x20) < (int)(uint)((int)uVar36 != 0));
  }
  for (; piVar28 != (int *)0x0; piVar28 = (int *)*piVar28) {
    iVar19 = FUN_00038ad0(piVar28[1],0,0,*(undefined4 *)**(undefined4 **)(piVar28[1] + 0x80));
    iVar29 = piVar28[1];
    piVar28[3] = iVar19;
    iVar21 = **(int **)(iVar29 + 0x80);
    do {
      iVar15 = iVar21;
      iVar21 = *(int *)(iVar15 + 8);
    } while (iVar21 != 0);
    uVar8 = *(undefined4 *)(iVar15 + 4);
    uVar36 = FUN_0001a520();
    iVar29 = FUN_00038ad0(iVar29,uVar36,uVar8);
    piVar28[4] = iVar29;
    local_a0[0] = 3;
    local_a8 = 0;
    local_a4 = (undefined1  [4])0x0;
    local_b0 = iVar19;
    FUN_000312d0(&local_b0,uVar6);
    local_a0[0] = 0x14;
    local_a8 = 0;
    local_a4 = (undefined1  [4])0x0;
    local_b0 = iVar29;
    local_ac = iVar19;
    FUN_000312d0(&local_b0,uVar6);
  }
  iVar5 = FUN_00024a90(iVar5);
  FUN_00043d50(iVar5,0,0,uVar6);
  FUN_00043d50(iVar5 + uVar6,0,0,uVar6);
  FUN_0003b370(iVar11);
  FUN_00036710(uVar9,0);
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_00024df0(0);
  FUN_0001a4e0();
  FUN_0001a4e0();
  if (*DAT_0007775c == 0) {
    FUN_0001a4e0();
    FUN_0001a4e0();
    FUN_0001a4e0();
    FUN_0001a4e0();
  }
  else {
    FUN_0001a4e0();
    FUN_0001a4e0();
  }
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_0001a4e0();
  FUN_00024df0(0);
  FUN_00036710(iVar10,0);
  uVar24 = FUN_00038b00();
  if (DAT_00077750 != 0) {
    if (*(int *)(DAT_00077754 + 0xc) != 0) {
      pcVar12 = (char *)FUN_00035180(*(undefined4 *)
                                      (DAT_00077748 + *(int *)(DAT_00077754 + 0xc) * 4));
      sVar13 = strlen(pcVar12);
      pvVar14 = (void *)FUN_00024a90(sVar13 + 1);
      memcpy(pvVar14,pcVar12,sVar13);
      *(undefined1 *)((int)pvVar14 + sVar13) = 0x2f;
    }
    sVar13 = strlen(*(char **)(DAT_00077754 + 8));
    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);
    memcpy(pvVar14,*(void **)(DAT_00077754 + 8),sVar13 + 1);
    uVar6 = FUN_00038b00();
    uVar8 = getpwd();
    pcVar12 = (char *)FUN_00035180(uVar8);
    sVar13 = strlen(pcVar12);
    pvVar14 = (void *)FUN_00024a90(sVar13 + 1);
    memcpy(pvVar14,pcVar12,sVar13 + 1);
    uVar17 = FUN_00038b00();
    sprintf((char *)local_cc,"GNU AS %s","2.31.1");
    puVar20 = local_cc;
    do {
      puVar22 = puVar20;
      uVar25 = *puVar22 + 0xfefefeff & ~*puVar22;
      uVar18 = uVar25 & 0x80808080;
      puVar20 = puVar22 + 1;
    } while (uVar18 == 0);
    bVar32 = (uVar25 & 0x8080) == 0;
    if (bVar32) {
      uVar18 = uVar18 >> 0x10;
    }
    if (bVar32) {
      puVar20 = (uint *)((int)puVar22 + 6);
    }
    uVar18 = (int)puVar20 + (-(int)local_cc - (uint)CARRY1((byte)uVar18,(byte)uVar18)) + -2;
    puVar20 = (uint *)FUN_00024a90(uVar18);
    if (uVar18 < 4) {
      if (uVar18 != 0) {
        *(undefined1 *)puVar20 = (undefined1)local_9c[0];
        if ((uVar18 & 2) != 0) {
          *(undefined2 *)((int)puVar20 + (uVar18 - 2)) = *(undefined2 *)(local_a0 + uVar18 + 2);
        }
      }
    }
    else {
      *puVar20 = local_9c[0];
      *(undefined4 *)((int)puVar20 + (uVar18 - 4)) = *(undefined4 *)(local_a0 + uVar18);
      iVar5 = (int)puVar20 - (int)((uint)(puVar20 + 1) & 0xfffffffc);
      puVar26 = (undefined4 *)((int)local_cc - iVar5);
      puVar30 = (undefined4 *)((uint)(puVar20 + 1) & 0xfffffffc);
      for (uVar18 = iVar5 + uVar18 >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {
        *puVar30 = *puVar26;
        puVar26 = puVar26 + (uint)bVar34 * -2 + 1;
        puVar30 = puVar30 + (uint)bVar34 * -2 + 1;
      }
    }
    uVar8 = FUN_0001a440();
    iVar5 = local_b0;
    uVar16 = FUN_00024a90(2);
    FUN_00043d50(uVar16,2,0,2);
    local_9c[0] = FUN_00036760(uVar9);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    FUN_000312d0(local_cc,uVar8);
    FUN_00024df0(DAT_00077734);
    FUN_0001a4e0();
    local_9c[0] = FUN_00036760(uVar7);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    FUN_000312d0(local_cc,4);
    if (*DAT_0007775c == 0) {
      local_b0 = DAT_0007775c[3];
      local_a0[0] = 3;
      local_a8 = 0;
      local_a4 = (undefined1  [4])0x0;
      FUN_000312d0(&local_b0,DAT_00077734);
      local_a0[0] = 3;
      local_b0 = DAT_0007775c[4];
      local_a8 = 0;
      local_a4 = (undefined1  [4])0x0;
      FUN_000312d0(&local_b0,DAT_00077734);
    }
    else {
      local_9c[0] = FUN_00036760(local_ec);
      local_8c = 3;
      local_9c[2] = 0;
      local_9c[3] = 0;
      FUN_000312d0(local_cc,uVar8);
    }
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    local_9c[0] = uVar24;
    FUN_000312d0(local_cc,uVar8);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    local_9c[0] = uVar6;
    FUN_000312d0(local_cc,uVar8);
    local_8c = 3;
    local_9c[2] = 0;
    local_9c[3] = 0;
    local_9c[0] = uVar17;
    FUN_000312d0(local_cc,uVar8);
    uVar7 = FUN_00024a90(2);
    FUN_00043d50(uVar7,0x8001,0,2);
    FUN_0003b370(iVar5);
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002be50("../../gas/dwarf2dbg.c",0x830,"out_debug_str",iVar5 + uVar6);
}

