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

int relax_segment(frag *segment_frag_root,segT segment,int pass)

{
  offsetT *poVar1;
  offsetT *poVar2;
  symbolS *symp;
  uint uVar3;
  addressT aVar4;
  offsetT oVar5;
  short sVar6;
  bool bVar7;
  segT paVar8;
  addressT aVar9;
  uint uVar10;
  uint uVar11;
  int iVar12;
  char *format;
  segT paVar13;
  valueT vVar14;
  char *pcVar15;
  int iVar16;
  frag *pfVar17;
  uint uVar18;
  int iVar19;
  undefined4 *puVar20;
  addressT aVar21;
  relax_stateT rVar22;
  undefined4 *puVar23;
  byte bVar24;
  int local_4c;
  uint local_44;
  fragS *local_40;
  uint local_38;
  uint local_34;
  int local_2c;
  uint local_28;
  
  bVar24 = 0;
  subseg_change(segment,0);
  if (segment_frag_root == (frag *)0x0) {
    local_2c = 0;
  }
  else {
    sVar6 = 0;
    uVar18 = 0;
    pfVar17 = segment_frag_root;
    iVar12 = 0;
    do {
      iVar19 = iVar12;
      pfVar17->fr_address = uVar18;
      uVar18 = uVar18 + pfVar17->fr_fix;
      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe;
      *(short *)&pfVar17->field_0x2c = sVar6;
      rVar22 = pfVar17->fr_type;
      switch(rVar22) {
      default:
        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);
                    /* WARNING: Subroutine does not return */
        as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");
      case rs_fill:
        poVar1 = &pfVar17->fr_offset;
        poVar2 = &pfVar17->fr_var;
        pfVar17 = pfVar17->fr_next;
        uVar18 = *poVar1 * *poVar2 + uVar18;
        break;
      case rs_align:
      case rs_align_code:
      case rs_align_test:
        uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);
        uVar10 = ~uVar10 + uVar18 & uVar10;
        uVar11 = uVar10 - uVar18;
        if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&
           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {
          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",
                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,
                                       5);
          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);
          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;
        }
      case rs_org:
        pfVar17 = pfVar17->fr_next;
        sVar6 = sVar6 + 1;
        break;
      case rs_machine_dependent:
        if (pfVar17->fr_symbol != (symbolS *)0x0) {
          resolve_symbol_value(pfVar17->fr_symbol);
        }
        iVar12 = md_estimate_size_before_relax(pfVar17,segment);
        uVar18 = uVar18 + iVar12;
      case rs_space:
      case rs_space_nop:
        pfVar17 = pfVar17->fr_next;
        break;
      case rs_leb128:
        pfVar17->fr_offset = 1;
        pfVar17 = pfVar17->fr_next;
        uVar18 = uVar18 + 1;
        break;
      case rs_cfa:
        iVar12 = eh_frame_estimate_size_before_relax(pfVar17);
        pfVar17 = pfVar17->fr_next;
        uVar18 = uVar18 + iVar12;
        break;
      case rs_dwarf2dbg:
        iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);
        pfVar17 = pfVar17->fr_next;
        uVar18 = uVar18 + iVar12;
      }
      iVar12 = iVar19 + 1;
    } while (pfVar17 != (frag *)0x0);
    uVar18 = iVar19 + 1;
    local_44 = 0;
    local_2c = 0;
    local_28 = uVar18 * uVar18;
    if (uVar18 * uVar18 < uVar18) {
      local_28 = uVar18;
    }
    paVar8 = (segT)(PTR__bfd_std_section_0007afb0 + 0x150);
    while (segment_frag_root != (frag *)0x0) {
      bVar7 = false;
      local_4c = 0;
      pfVar17 = segment_frag_root;
      aVar21 = segment_frag_root->fr_address;
LAB_0003d598:
      rVar22 = pfVar17->fr_type;
      symp = pfVar17->fr_symbol;
      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe | pfVar17->field_0x2e & 1 ^ 1;
      aVar9 = local_4c + aVar21;
      pfVar17->fr_address = aVar9;
      local_38 = pfVar17->fr_offset;
      switch(rVar22) {
      default:
        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);
                    /* WARNING: Subroutine does not return */
        as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");
      case rs_fill:
_L687:
        local_40 = pfVar17->fr_next;
        goto joined_r0x0003d763;
      case rs_align:
      case rs_align_code:
      case rs_align_test:
        iVar12 = aVar21 + pfVar17->fr_fix;
        uVar18 = -1 << ((byte)local_38 & 0x1f);
        uVar10 = iVar12 + ~uVar18 & uVar18;
        iVar19 = aVar9 + pfVar17->fr_fix;
        local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;
        uVar18 = pfVar17->fr_subtype;
        if (uVar18 == 0) {
          local_38 = (iVar12 - uVar10) + local_34;
        }
        else if (uVar18 < uVar10 - iVar12) {
          local_38 = local_34;
          if (uVar18 < local_34) goto _L687;
        }
        else if (uVar18 < local_34) {
          local_34 = 0;
          local_38 = iVar12 - uVar10;
        }
        else {
          local_38 = (iVar12 - uVar10) + local_34;
        }
        if (-1 < (int)local_38) break;
        if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {
                    /* WARNING: Load size is inaccurate */
          iVar12 = *segment->userdata;
          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));
          iVar19 = pfVar17->fr_var;
          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;
          *(int *)(iVar12 + 0x24) = iVar16;
          if (iVar16 == *(int *)(iVar12 + 0x20)) {
            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;
          }
          uVar18 = *(uint *)(iVar12 + 0x28);
          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);
          *(uint *)(iVar12 + 0x24) = uVar10;
          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {
            *(uint *)(iVar12 + 0x24) = uVar18;
            uVar10 = uVar18;
          }
          *(uint *)(iVar12 + 0x20) = uVar10;
          local_40->fr_address = pfVar17->fr_address;
          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);
          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;
          iVar12 = (int)local_40 - (int)puVar23;
          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);
          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {
            *puVar23 = *puVar20;
            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;
            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;
          }
          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);
          aVar21 = aVar9 + pfVar17->fr_fix + local_34;
          oVar5 = pfVar17->fr_offset;
          local_40->fr_type = rs_fill;
          local_40->fr_address = aVar21;
          local_40->fr_fix = 0;
          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;
          local_40->fr_offset = iVar12;
          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);
          if (iVar19 * iVar12 - iVar16 == 0) {
            iVar16 = iVar12 * local_40->fr_var;
          }
          else {
            local_40->fr_offset = iVar16;
            local_40->fr_var = 1;
          }
          local_38 = local_38 + iVar16;
          local_40->fr_address = aVar21 - (local_38 + local_4c);
          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;
          pfVar17->fr_next = local_40;
          goto LAB_0003da0f;
        }
        local_40 = pfVar17->fr_next;
        local_4c = local_4c + local_38;
        goto joined_r0x0003d74b;
      case rs_org:
        if (symp != (symbolS *)0x0) {
          paVar13 = S_GET_SEGMENT(symp);
          if (paVar13->vma != 0) {
                    /* WARNING: Subroutine does not return */
            as_abort("../../gas/write.c",0xb80,"relax_segment");
          }
          vVar14 = S_GET_VALUE(symp);
          local_38 = local_38 + vVar14;
        }
        local_40 = pfVar17->fr_next;
        if (local_40 == (fragS *)0x0) {
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/write.c",0xb84,"relax_segment");
        }
        aVar4 = local_40->fr_address;
        if (aVar9 + pfVar17->fr_fix <= local_38) {
          local_38 = local_38 - (aVar4 + local_4c);
LAB_0003da0f:
          if (local_38 != 0) {
            rVar22 = pfVar17->fr_type;
            goto LAB_0003d73c;
          }
          goto LAB_0003d70f;
        }
        if (1 < pass) {
          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);
          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);
          pfVar17->fr_type = rs_align;
          pfVar17->fr_subtype = 0;
          pfVar17->fr_offset = 0;
          pfVar17->fr_fix = aVar4 - aVar21;
          local_40 = pfVar17->fr_next;
          goto joined_r0x0003d763;
        }
        local_2c = 1;
        pfVar17 = local_40;
        aVar21 = aVar4;
        goto LAB_0003d598;
      case rs_machine_dependent:
        local_38 = relax_frag(segment,pfVar17,local_4c);
        break;
      case rs_space:
      case rs_space_nop:
        if (symp == (symbolS *)0x0) goto _L687;
        vVar14 = S_GET_VALUE(symp);
        paVar13 = S_GET_SEGMENT(symp);
        if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&
           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {
          if (-1 < (int)vVar14) {
            local_40 = pfVar17->fr_next;
            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;
            goto LAB_0003da0f;
          }
          if (pass < 2) {
            local_40 = pfVar17->fr_next;
            local_2c = 1;
          }
          else {
            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);
            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);
            pfVar17->fr_symbol = (symbolS *)0x0;
            local_40 = pfVar17->fr_next;
          }
        }
        else {
          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);
          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);
          pfVar17->fr_symbol = (symbolS *)0x0;
          local_40 = pfVar17->fr_next;
        }
        goto joined_r0x0003d763;
      case rs_leb128:
        vVar14 = resolve_symbol_value(symp);
        uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);
        local_38 = uVar18 - pfVar17->fr_offset;
        pfVar17->fr_offset = uVar18;
        break;
      case rs_cfa:
        local_38 = eh_frame_relax_frag(pfVar17);
        local_40 = pfVar17->fr_next;
        goto joined_r0x0003d971;
      case rs_dwarf2dbg:
        local_38 = dwarf2dbg_relax_frag(pfVar17);
      }
      local_40 = pfVar17->fr_next;
joined_r0x0003d971:
      if (local_38 != 0) {
        rVar22 = pfVar17->fr_type;
LAB_0003d73c:
        local_4c = local_4c + local_38;
        if (rVar22 == rs_leb128) {
          local_44 = local_44 + 0x10;
          bVar7 = true;
        }
        else {
joined_r0x0003d74b:
          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {
            local_44 = local_44 + 0x10;
            bVar7 = true;
          }
          else {
            local_44 = 0;
            bVar7 = true;
          }
        }
      }
joined_r0x0003d763:
      if (local_40 != (fragS *)0x0) {
LAB_0003d70f:
        pfVar17 = local_40;
        aVar21 = local_40->fr_address;
        goto LAB_0003d598;
      }
      if (local_4c == 0 && (local_44 & 0x10) == 0) {
        uVar18 = local_44 + 1;
        uVar10 = local_44 & 0xfffffff0;
        local_44 = 0;
        if (uVar10 != 0) {
          local_44 = uVar18;
        }
      }
      else {
        local_44 = 0;
      }
      if (!bVar7) {
        do {
          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {
            segment_frag_root->last_fr_address = segment_frag_root->fr_address;
            local_2c = 1;
          }
          segment_frag_root = segment_frag_root->fr_next;
        } while (segment_frag_root != (frag *)0x0);
        return local_2c;
      }
      local_28 = local_28 - 1;
      if (local_28 == 0) {
        pcVar15 = segment->name;
        format = (char *)dcgettext(0,
                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"
                                   ,5,segment);
                    /* WARNING: Subroutine does not return */
        as_fatal(format,pcVar15);
      }
    }
  }
  return local_2c;
}



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

undefined4 FUN_0003d490(uint *param_1,undefined4 *param_2,int param_3)

{
  uint *puVar1;
  uint *puVar2;
  short sVar3;
  bool bVar4;
  undefined *puVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  int iVar9;
  undefined4 uVar10;
  undefined *puVar11;
  int iVar12;
  undefined4 uVar13;
  uint *puVar14;
  uint uVar15;
  undefined4 *puVar16;
  undefined4 *puVar17;
  byte bVar18;
  int local_4c;
  uint uStack_44;
  uint *local_40;
  uint uStack_38;
  uint uStack_34;
  undefined4 local_2c;
  uint uStack_28;
  
  bVar18 = 0;
  FUN_00034dd0(param_2,0);
  if (param_1 == (uint *)0x0) {
    local_2c = 0;
  }
  else {
    sVar3 = 0;
    uVar15 = 0;
    puVar14 = param_1;
    iVar9 = 0;
    do {
      iVar12 = iVar9;
      *puVar14 = uVar15;
      uVar15 = uVar15 + puVar14[2];
      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;
      *(short *)(puVar14 + 0xb) = sVar3;
      uVar7 = puVar14[0xc];
      switch(uVar7) {
      default:
        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);
                    /* WARNING: Subroutine does not return */
        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");
      case 1:
        puVar1 = puVar14 + 4;
        puVar2 = puVar14 + 3;
        puVar14 = (uint *)puVar14[7];
        uVar15 = *puVar1 * *puVar2 + uVar15;
        break;
      case 2:
      case 3:
      case 4:
        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);
        uVar7 = ~uVar7 + uVar15 & uVar7;
        uVar8 = uVar7 - uVar15;
        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&
           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {
          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",
                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);
          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);
          uVar15 = uVar7 - uVar8 % puVar14[3];
        }
      case 5:
        puVar14 = (uint *)puVar14[7];
        sVar3 = sVar3 + 1;
        break;
      case 7:
        if (puVar14[5] != 0) {
          FUN_00037320(puVar14[5]);
        }
        iVar9 = FUN_0004e530(puVar14,param_2);
        uVar15 = uVar15 + iVar9;
      case 8:
      case 9:
        puVar14 = (uint *)puVar14[7];
        break;
      case 0xb:
        puVar14[4] = 1;
        puVar14 = (uint *)puVar14[7];
        uVar15 = uVar15 + 1;
        break;
      case 0xc:
        iVar9 = FUN_0001fdb0(puVar14);
        puVar14 = (uint *)puVar14[7];
        uVar15 = uVar15 + iVar9;
        break;
      case 0xd:
        iVar9 = FUN_0001b960(puVar14);
        puVar14 = (uint *)puVar14[7];
        uVar15 = uVar15 + iVar9;
      }
      iVar9 = iVar12 + 1;
    } while (puVar14 != (uint *)0x0);
    uVar15 = iVar12 + 1;
    uStack_44 = 0;
    local_2c = 0;
    uStack_28 = uVar15 * uVar15;
    if (uVar15 * uVar15 < uVar15) {
      uStack_28 = uVar15;
    }
    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;
    while (param_1 != (uint *)0x0) {
      bVar4 = false;
      local_4c = 0;
      puVar14 = param_1;
      uVar15 = *param_1;
code_r0x0003d598:
      uVar7 = puVar14[0xc];
      uVar8 = puVar14[5];
      *(byte *)((int)puVar14 + 0x2e) =
           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;
      uVar6 = local_4c + uVar15;
      *puVar14 = uVar6;
      uStack_38 = puVar14[4];
      switch(uVar7) {
      default:
        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);
                    /* WARNING: Subroutine does not return */
        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");
      case 1:
code_r0x0003d708:
        local_40 = (uint *)puVar14[7];
        goto joined_r0x0003d763;
      case 2:
      case 3:
      case 4:
        iVar9 = uVar15 + puVar14[2];
        uVar15 = -1 << ((byte)uStack_38 & 0x1f);
        uVar8 = iVar9 + ~uVar15 & uVar15;
        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);
        uVar15 = puVar14[0xd];
        if (uVar15 == 0) {
          uStack_38 = (iVar9 - uVar8) + uStack_34;
        }
        else if (uVar15 < uVar8 - iVar9) {
          uStack_38 = uStack_34;
          if (uVar15 < uStack_34) goto code_r0x0003d708;
        }
        else if (uVar15 < uStack_34) {
          uStack_34 = 0;
          uStack_38 = iVar9 - uVar8;
        }
        else {
          uStack_38 = (iVar9 - uVar8) + uStack_34;
        }
        if (-1 < (int)uStack_38) break;
        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {
          iVar9 = *(int *)param_2[0x1a];
          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);
          uVar15 = puVar14[3];
          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;
          *(int *)(iVar9 + 0x24) = iVar12;
          if (iVar12 == *(int *)(iVar9 + 0x20)) {
            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;
          }
          uVar7 = *(uint *)(iVar9 + 0x28);
          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);
          *(uint *)(iVar9 + 0x24) = uVar8;
          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {
            *(uint *)(iVar9 + 0x24) = uVar7;
            uVar8 = uVar7;
          }
          *(uint *)(iVar9 + 0x20) = uVar8;
          *local_40 = *puVar14;
          local_40[0x14] = puVar14[0x14];
          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);
          puVar16 = (undefined4 *)((int)puVar14 - iVar9);
          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);
          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {
            *puVar17 = *puVar16;
            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;
            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;
          }
          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);
          uStack_34 = uVar6 + puVar14[2] + uStack_34;
          uVar7 = puVar14[4];
          local_40[0xc] = 1;
          *local_40 = uStack_34;
          local_40[2] = 0;
          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];
          local_40[4] = uVar7;
          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);
          if (uVar15 * uVar7 - uVar8 == 0) {
            uVar8 = uVar7 * local_40[3];
          }
          else {
            local_40[4] = uVar8;
            local_40[3] = 1;
          }
          uStack_38 = uStack_38 + uVar8;
          *local_40 = uStack_34 - (uStack_38 + local_4c);
          *(byte *)((int)local_40 + 0x2e) =
               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;
          puVar14[7] = (uint)local_40;
          goto code_r0x0003da0f;
        }
        local_40 = (uint *)puVar14[7];
        local_4c = local_4c + uStack_38;
        goto joined_r0x0003d74b;
      case 5:
        if (uVar8 != 0) {
          iVar9 = FUN_00036e00(uVar8);
          if (*(int *)(iVar9 + 0x1c) != 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");
          }
          iVar9 = FUN_00038490(uVar8);
          uStack_38 = uStack_38 + iVar9;
        }
        local_40 = (uint *)puVar14[7];
        if (local_40 == (uint *)0x0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");
        }
        uVar7 = *local_40;
        if (uVar6 + puVar14[2] <= uStack_38) {
          uStack_38 = uStack_38 - (uVar7 + local_4c);
code_r0x0003da0f:
          if (uStack_38 != 0) {
            uVar7 = puVar14[0xc];
            goto code_r0x0003d73c;
          }
          goto code_r0x0003d70f;
        }
        if (1 < param_3) {
          uVar13 = dcgettext(0,"attempt to move .org backwards",5);
          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);
          puVar14[0xc] = 2;
          puVar14[0xd] = 0;
          puVar14[4] = 0;
          puVar14[2] = uVar7 - uVar15;
          local_40 = (uint *)puVar14[7];
          goto joined_r0x0003d763;
        }
        local_2c = 1;
        puVar14 = local_40;
        uVar15 = uVar7;
        goto code_r0x0003d598;
      case 7:
        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);
        break;
      case 8:
      case 9:
        if (uVar8 == 0) goto code_r0x0003d708;
        iVar9 = FUN_00038490(uVar8);
        puVar11 = (undefined *)FUN_00036e00(uVar8);
        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&
           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {
          if (-1 < iVar9) {
            local_40 = (uint *)puVar14[7];
            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;
            goto code_r0x0003da0f;
          }
          if (param_3 < 2) {
            local_40 = (uint *)puVar14[7];
            local_2c = 1;
          }
          else {
            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);
            FUN_0002a910(puVar14[8],puVar14[9],uVar13);
            puVar14[5] = 0;
            local_40 = (uint *)puVar14[7];
          }
        }
        else {
          uVar13 = dcgettext(0,".space specifies non-absolute value",5);
          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);
          puVar14[5] = 0;
          local_40 = (uint *)puVar14[7];
        }
        goto joined_r0x0003d763;
      case 0xb:
        uVar13 = FUN_00037320(uVar8);
        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);
        uStack_38 = uVar15 - puVar14[4];
        puVar14[4] = uVar15;
        break;
      case 0xc:
        uStack_38 = FUN_0001fe60(puVar14);
        local_40 = (uint *)puVar14[7];
        goto joined_r0x0003d971;
      case 0xd:
        uStack_38 = FUN_0001b9b0(puVar14);
      }
      local_40 = (uint *)puVar14[7];
joined_r0x0003d971:
      if (uStack_38 != 0) {
        uVar7 = puVar14[0xc];
code_r0x0003d73c:
        local_4c = local_4c + uStack_38;
        if (uVar7 == 0xb) {
          uStack_44 = uStack_44 + 0x10;
          bVar4 = true;
        }
        else {
joined_r0x0003d74b:
          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {
            uStack_44 = uStack_44 + 0x10;
            bVar4 = true;
          }
          else {
            uStack_44 = 0;
            bVar4 = true;
          }
        }
      }
joined_r0x0003d763:
      if (local_40 != (uint *)0x0) {
code_r0x0003d70f:
        puVar14 = local_40;
        uVar15 = *local_40;
        goto code_r0x0003d598;
      }
      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {
        uVar15 = uStack_44 + 1;
        uVar7 = uStack_44 & 0xfffffff0;
        uStack_44 = 0;
        if (uVar7 != 0) {
          uStack_44 = uVar15;
        }
      }
      else {
        uStack_44 = 0;
      }
      if (!bVar4) {
        do {
          if (param_1[1] != *param_1) {
            param_1[1] = *param_1;
            local_2c = 1;
          }
          param_1 = (uint *)param_1[7];
        } while (param_1 != (uint *)0x0);
        return local_2c;
      }
      uStack_28 = uStack_28 - 1;
      if (uStack_28 == 0) {
        uVar13 = *param_2;
        uVar10 = dcgettext(0,
                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"
                           ,5,param_2);
                    /* WARNING: Subroutine does not return */
        FUN_0002aa20(uVar10,uVar13);
      }
    }
  }
  return local_2c;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016020
ADD EBX,0x3db67
SUB ESP,0x44
PUSH 0x0
PUSH dword ptr [ESP + 0x60]
CALL 0x00034dd0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x50]
TEST EAX,EAX
JZ 0x0003dce6
LEA EAX,[EBX + 0xfffe2944]
MOV EBP,dword ptr [ESP + 0x50]
XOR ESI,ESI
XOR EDI,EDI
MOV dword ptr [ESP],0x0
MOV dword ptr [ESP + 0xc],EAX
LEA ESI,[ESI]
MOVZX EAX,word ptr [ESP]
MOV dword ptr [EBP],ESI
ADD ESI,dword ptr [EBP + 0x8]
AND byte ptr [EBP + 0x2e],0xfe
MOV word ptr [EBP + 0x2c],AX
MOV EAX,dword ptr [EBP + 0x30]
MOV EDX,ESI
CMP EAX,0xd
JA 0x0003dd0b
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfffe2d14]
ADD ECX,EBX
JMP ECX
MOV EAX,dword ptr [ESP + 0x20]
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [ESP + 0x20],0x0
JMP 0x0003dc80
SUB ESP,0x4
MOV EDI,EAX
LEA EAX,[EBX + 0xfffdc098]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
LEA EDX,[EBX + 0xfffe2b24]
PUSH EDX
PUSH 0xaa0
PUSH EDI
PUSH EAX
CALL 0x0002aa20
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_0003d490(uint *param_1,undefined4 *param_2,int param_3)\n\n{\n  uint *puVar1;\n  uint *puVar2;\n  short sVar3;\n  bool bVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  int iVar12;\n  undefined4 uVar13;\n  uint *puVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  byte bVar18;\n  int local_4c;\n  uint uStack_44;\n  uint *local_40;\n  uint uStack_38;\n  uint uStack_34;\n  undefined4 local_2c;\n  uint uStack_28;\n  \n  bVar18 = 0;\n  FUN_00034dd0(param_2,0);\n  if (param_1 == (uint *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }\n  return local_2c;\n}\n\n" comment (function_definition "undefined4 FUN_0003d490(uint *param_1,undefined4 *param_2,int param_3)\n\n{\n  uint *puVar1;\n  uint *puVar2;\n  short sVar3;\n  bool bVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  int iVar12;\n  undefined4 uVar13;\n  uint *puVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  byte bVar18;\n  int local_4c;\n  uint uStack_44;\n  uint *local_40;\n  uint uStack_38;\n  uint uStack_34;\n  undefined4 local_2c;\n  uint uStack_28;\n  \n  bVar18 = 0;\n  FUN_00034dd0(param_2,0);\n  if (param_1 == (uint *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }\n  return local_2c;\n}" type_identifier (function_declarator "FUN_0003d490(uint *param_1,undefined4 *param_2,int param_3)" identifier (parameter_list "(uint *param_1,undefined4 *param_2,int param_3)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  uint *puVar1;\n  uint *puVar2;\n  short sVar3;\n  bool bVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  int iVar12;\n  undefined4 uVar13;\n  uint *puVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  byte bVar18;\n  int local_4c;\n  uint uStack_44;\n  uint *local_40;\n  uint uStack_38;\n  uint uStack_34;\n  undefined4 local_2c;\n  uint uStack_28;\n  \n  bVar18 = 0;\n  FUN_00034dd0(param_2,0);\n  if (param_1 == (uint *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }\n  return local_2c;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "short sVar3;" (sized_type_specifier "short" short) identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "uint uStack_44;" type_identifier identifier ;) (declaration "uint *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "uint uStack_38;" type_identifier identifier ;) (declaration "uint uStack_34;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "uint uStack_28;" type_identifier identifier ;) (expression_statement "bVar18 = 0;" (assignment_expression "bVar18 = 0" identifier = number_literal) ;) (expression_statement "FUN_00034dd0(param_2,0);" (call_expression "FUN_00034dd0(param_2,0)" identifier (argument_list "(param_2,0)" ( identifier , number_literal ))) ;) (if_statement "if (param_1 == (uint *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }" if (parenthesized_expression "(param_1 == (uint *)0x0)" ( (binary_expression "param_1 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_2c = 0;\n  }" { (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) }) (else_clause "else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }" else (compound_statement "{\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }" { (expression_statement "sVar3 = 0;" (assignment_expression "sVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "puVar14 = param_1;" (assignment_expression "puVar14 = param_1" identifier = identifier) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);" do (compound_statement "{\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    }" { (expression_statement "iVar12 = iVar9;" (assignment_expression "iVar12 = iVar9" identifier = identifier) ;) (expression_statement "*puVar14 = uVar15;" (assignment_expression "*puVar14 = uVar15" (pointer_expression "*puVar14" * identifier) = identifier) ;) (expression_statement "uVar15 = uVar15 + puVar14[2];" (assignment_expression "uVar15 = uVar15 + puVar14[2]" identifier = (binary_expression "uVar15 + puVar14[2]" identifier + (subscript_expression "puVar14[2]" identifier [ number_literal ]))) ;) (expression_statement "*(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;" (assignment_expression "*(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" * (cast_expression "(byte *)((int)puVar14 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x2e)" ( (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 0xfe" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" * (cast_expression "(byte *)((int)puVar14 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x2e)" ( (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "*(short *)(puVar14 + 0xb) = sVar3;" (assignment_expression "*(short *)(puVar14 + 0xb) = sVar3" (pointer_expression "*(short *)(puVar14 + 0xb)" * (cast_expression "(short *)(puVar14 + 0xb)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0xb)" ( (binary_expression "puVar14 + 0xb" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = puVar14[0xc];" (assignment_expression "uVar7 = puVar14[0xc]" identifier = (subscript_expression "puVar14[0xc]" identifier [ number_literal ])) ;) (switch_statement "switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }" switch (parenthesized_expression "(uVar7)" ( identifier )) (compound_statement "{\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }" { (case_statement "default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");" default : (expression_statement "uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);" (assignment_expression "uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier = (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" ( number_literal , (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal )))) ;) comment (expression_statement "FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");" (call_expression "FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c")" identifier (argument_list "(uVar13,uVar7,0xaa0,"../../gas/write.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/write.c"" " string_content ") ))) ;)) (case_statement "case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;" case number_literal : (expression_statement "puVar1 = puVar14 + 4;" (assignment_expression "puVar1 = puVar14 + 4" identifier = (binary_expression "puVar14 + 4" identifier + number_literal)) ;) (expression_statement "puVar2 = puVar14 + 3;" (assignment_expression "puVar2 = puVar14 + 3" identifier = (binary_expression "puVar14 + 3" identifier + number_literal)) ;) (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "uVar15 = *puVar1 * *puVar2 + uVar15;" (assignment_expression "uVar15 = *puVar1 * *puVar2 + uVar15" identifier = (binary_expression "*puVar1 * *puVar2 + uVar15" (binary_expression "*puVar1 * *puVar2" (pointer_expression "*puVar1" * identifier) * (pointer_expression "*puVar2" * identifier)) + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }" case number_literal : (expression_statement "uVar7 = -1 << ((byte)puVar14[4] & 0x1f);" (assignment_expression "uVar7 = -1 << ((byte)puVar14[4] & 0x1f)" identifier = (binary_expression "-1 << ((byte)puVar14[4] & 0x1f)" number_literal << (parenthesized_expression "((byte)puVar14[4] & 0x1f)" ( (binary_expression "(byte)puVar14[4] & 0x1f" (cast_expression "(byte)puVar14[4]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar14[4]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "uVar7 = ~uVar7 + uVar15 & uVar7;" (assignment_expression "uVar7 = ~uVar7 + uVar15 & uVar7" identifier = (binary_expression "~uVar7 + uVar15 & uVar7" (binary_expression "~uVar7 + uVar15" (unary_expression "~uVar7" ~ identifier) + identifier) & identifier)) ;) (expression_statement "uVar8 = uVar7 - uVar15;" (assignment_expression "uVar8 = uVar7 - uVar15" identifier = (binary_expression "uVar7 - uVar15" identifier - identifier)) ;) (if_statement "if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }" if (parenthesized_expression "(((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0))" ( (binary_expression "((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)" (parenthesized_expression "((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd]))" ( (binary_expression "(puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])" (parenthesized_expression "(puVar14[0xd] == 0)" ( (binary_expression "puVar14[0xd] == 0" (subscript_expression "puVar14[0xd]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(uVar8 <= puVar14[0xd])" ( (binary_expression "uVar8 <= puVar14[0xd]" identifier <= (subscript_expression "puVar14[0xd]" identifier [ number_literal ])) ))) )) && (parenthesized_expression "(uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)" ( (comma_expression "uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0" (assignment_expression "uVar6 = puVar14[3]" identifier = (subscript_expression "puVar14[3]" identifier [ number_literal ])) , (comma_expression "uVar15 = uVar7, uVar8 % uVar6 != 0" (assignment_expression "uVar15 = uVar7" identifier = identifier) , (binary_expression "uVar8 % uVar6 != 0" (binary_expression "uVar8 % uVar6" identifier % identifier) != number_literal))) ))) )) (compound_statement "{\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }" { (expression_statement "uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);" (assignment_expression "uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5)" identifier = (call_expression "dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5)" identifier (argument_list "(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5)" ( number_literal , (string_literal ""alignment padding (%lu byte) not a multiple of %ld"" " string_content ") , (string_literal ""alignment padding (%lu bytes) not a multiple of %ld"" " string_content ") , identifier , number_literal )))) ;) (expression_statement "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);" (call_expression "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6)" identifier (argument_list "(puVar14[8],puVar14[9],uVar13,uVar8,uVar6)" ( (subscript_expression "puVar14[8]" identifier [ number_literal ]) , (subscript_expression "puVar14[9]" identifier [ number_literal ]) , identifier , identifier , identifier ))) ;) (expression_statement "uVar15 = uVar7 - uVar8 % puVar14[3];" (assignment_expression "uVar15 = uVar7 - uVar8 % puVar14[3]" identifier = (binary_expression "uVar7 - uVar8 % puVar14[3]" identifier - (binary_expression "uVar8 % puVar14[3]" identifier % (subscript_expression "puVar14[3]" identifier [ number_literal ])))) ;) }))) (case_statement "case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;" case number_literal : (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "sVar3 = sVar3 + 1;" (assignment_expression "sVar3 = sVar3 + 1" identifier = (binary_expression "sVar3 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;" case number_literal : (if_statement "if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }" if (parenthesized_expression "(puVar14[5] != 0)" ( (binary_expression "puVar14[5] != 0" (subscript_expression "puVar14[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          FUN_00037320(puVar14[5]);\n        }" { (expression_statement "FUN_00037320(puVar14[5]);" (call_expression "FUN_00037320(puVar14[5])" identifier (argument_list "(puVar14[5])" ( (subscript_expression "puVar14[5]" identifier [ number_literal ]) ))) ;) })) (expression_statement "iVar9 = FUN_0004e530(puVar14,param_2);" (assignment_expression "iVar9 = FUN_0004e530(puVar14,param_2)" identifier = (call_expression "FUN_0004e530(puVar14,param_2)" identifier (argument_list "(puVar14,param_2)" ( identifier , identifier )))) ;) (expression_statement "uVar15 = uVar15 + iVar9;" (assignment_expression "uVar15 = uVar15 + iVar9" identifier = (binary_expression "uVar15 + iVar9" identifier + identifier)) ;)) (case_statement "case 8:" case number_literal :) (case_statement "case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;" case number_literal : (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;" case number_literal : (expression_statement "puVar14[4] = 1;" (assignment_expression "puVar14[4] = 1" (subscript_expression "puVar14[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "uVar15 = uVar15 + 1;" (assignment_expression "uVar15 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;" case number_literal : (expression_statement "iVar9 = FUN_0001fdb0(puVar14);" (assignment_expression "iVar9 = FUN_0001fdb0(puVar14)" identifier = (call_expression "FUN_0001fdb0(puVar14)" identifier (argument_list "(puVar14)" ( identifier )))) ;) (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "uVar15 = uVar15 + iVar9;" (assignment_expression "uVar15 = uVar15 + iVar9" identifier = (binary_expression "uVar15 + iVar9" identifier + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;" case number_literal : (expression_statement "iVar9 = FUN_0001b960(puVar14);" (assignment_expression "iVar9 = FUN_0001b960(puVar14)" identifier = (call_expression "FUN_0001b960(puVar14)" identifier (argument_list "(puVar14)" ( identifier )))) ;) (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "uVar15 = uVar15 + iVar9;" (assignment_expression "uVar15 = uVar15 + iVar9" identifier = (binary_expression "uVar15 + iVar9" identifier + identifier)) ;)) })) (expression_statement "iVar9 = iVar12 + 1;" (assignment_expression "iVar9 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar14 != (uint *)0x0)" ( (binary_expression "puVar14 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "uVar15 = iVar12 + 1;" (assignment_expression "uVar15 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "uStack_44 = 0;" (assignment_expression "uStack_44 = 0" identifier = number_literal) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "uStack_28 = uVar15 * uVar15;" (assignment_expression "uStack_28 = uVar15 * uVar15" identifier = (binary_expression "uVar15 * uVar15" identifier * identifier)) ;) (if_statement "if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }" if (parenthesized_expression "(uVar15 * uVar15 < uVar15)" ( (binary_expression "uVar15 * uVar15 < uVar15" (binary_expression "uVar15 * uVar15" identifier * identifier) < identifier) )) (compound_statement "{\n      uStack_28 = uVar15;\n    }" { (expression_statement "uStack_28 = uVar15;" (assignment_expression "uStack_28 = uVar15" identifier = identifier) ;) })) (expression_statement "puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;" (assignment_expression "puVar5 = PTR__bfd_std_section_0007afb0 + 0x150" identifier = (binary_expression "PTR__bfd_std_section_0007afb0 + 0x150" identifier + number_literal)) ;) (while_statement "while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }" while (parenthesized_expression "(param_1 != (uint *)0x0)" ( (binary_expression "param_1 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }" { (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "puVar14 = param_1;" (assignment_expression "puVar14 = param_1" identifier = identifier) ;) (expression_statement "uVar15 = *param_1;" (assignment_expression "uVar15 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (labeled_statement "code_r0x0003d598:\n      uVar7 = puVar14[0xc];" statement_identifier : (expression_statement "uVar7 = puVar14[0xc];" (assignment_expression "uVar7 = puVar14[0xc]" identifier = (subscript_expression "puVar14[0xc]" identifier [ number_literal ])) ;)) (expression_statement "uVar8 = puVar14[5];" (assignment_expression "uVar8 = puVar14[5]" identifier = (subscript_expression "puVar14[5]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;" (assignment_expression "*(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" * (cast_expression "(byte *)((int)puVar14 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x2e)" ( (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1" (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 0xfe" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" * (cast_expression "(byte *)((int)puVar14 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x2e)" ( (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 1 ^ 1" (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 1" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" * (cast_expression "(byte *)((int)puVar14 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x2e)" ( (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) ^ number_literal))) ;) (expression_statement "uVar6 = local_4c + uVar15;" (assignment_expression "uVar6 = local_4c + uVar15" identifier = (binary_expression "local_4c + uVar15" identifier + identifier)) ;) (expression_statement "*puVar14 = uVar6;" (assignment_expression "*puVar14 = uVar6" (pointer_expression "*puVar14" * identifier) = identifier) ;) (expression_statement "uStack_38 = puVar14[4];" (assignment_expression "uStack_38 = puVar14[4]" identifier = (subscript_expression "puVar14[4]" identifier [ number_literal ])) ;) (switch_statement "switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }" switch (parenthesized_expression "(uVar7)" ( identifier )) (compound_statement "{\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }" { (case_statement "default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");" default : (expression_statement "uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);" (assignment_expression "uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier = (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" ( number_literal , (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal )))) ;) comment (expression_statement "FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");" (call_expression "FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c")" identifier (argument_list "(uVar13,uVar7,0xbf4,"../../gas/write.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/write.c"" " string_content ") ))) ;)) (case_statement "case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;" case number_literal : (labeled_statement "code_r0x0003d708:\n        local_40 = (uint *)puVar14[7];" statement_identifier : (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;)) (goto_statement "goto joined_r0x0003d763;" goto statement_identifier ;)) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;" case number_literal : (expression_statement "iVar9 = uVar15 + puVar14[2];" (assignment_expression "iVar9 = uVar15 + puVar14[2]" identifier = (binary_expression "uVar15 + puVar14[2]" identifier + (subscript_expression "puVar14[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar15 = -1 << ((byte)uStack_38 & 0x1f);" (assignment_expression "uVar15 = -1 << ((byte)uStack_38 & 0x1f)" identifier = (binary_expression "-1 << ((byte)uStack_38 & 0x1f)" number_literal << (parenthesized_expression "((byte)uStack_38 & 0x1f)" ( (binary_expression "(byte)uStack_38 & 0x1f" (cast_expression "(byte)uStack_38" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar8 = iVar9 + ~uVar15 & uVar15;" (assignment_expression "uVar8 = iVar9 + ~uVar15 & uVar15" identifier = (binary_expression "iVar9 + ~uVar15 & uVar15" (binary_expression "iVar9 + ~uVar15" identifier + (unary_expression "~uVar15" ~ identifier)) & identifier)) ;) (expression_statement "uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);" (assignment_expression "uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2])" identifier = (binary_expression "(~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2])" (parenthesized_expression "(~uVar15 + uVar6 + puVar14[2] & uVar15)" ( (binary_expression "~uVar15 + uVar6 + puVar14[2] & uVar15" (binary_expression "~uVar15 + uVar6 + puVar14[2]" (binary_expression "~uVar15 + uVar6" (unary_expression "~uVar15" ~ identifier) + identifier) + (subscript_expression "puVar14[2]" identifier [ number_literal ])) & identifier) )) - (parenthesized_expression "(uVar6 + puVar14[2])" ( (binary_expression "uVar6 + puVar14[2]" identifier + (subscript_expression "puVar14[2]" identifier [ number_literal ])) )))) ;) (expression_statement "uVar15 = puVar14[0xd];" (assignment_expression "uVar15 = puVar14[0xd]" identifier = (subscript_expression "puVar14[0xd]" identifier [ number_literal ])) ;) (if_statement "if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (compound_statement "{\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" { (expression_statement "uStack_38 = (iVar9 - uVar8) + uStack_34;" (assignment_expression "uStack_38 = (iVar9 - uVar8) + uStack_34" identifier = (binary_expression "(iVar9 - uVar8) + uStack_34" (parenthesized_expression "(iVar9 - uVar8)" ( (binary_expression "iVar9 - uVar8" identifier - identifier) )) + identifier)) ;) }) (else_clause "else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" else (if_statement "if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" if (parenthesized_expression "(uVar15 < uVar8 - iVar9)" ( (binary_expression "uVar15 < uVar8 - iVar9" identifier < (binary_expression "uVar8 - iVar9" identifier - identifier)) )) (compound_statement "{\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }" { (expression_statement "uStack_38 = uStack_34;" (assignment_expression "uStack_38 = uStack_34" identifier = identifier) ;) (if_statement "if (uVar15 < uStack_34) goto code_r0x0003d708;" if (parenthesized_expression "(uVar15 < uStack_34)" ( (binary_expression "uVar15 < uStack_34" identifier < identifier) )) (goto_statement "goto code_r0x0003d708;" goto statement_identifier ;)) }) (else_clause "else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" else (if_statement "if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" if (parenthesized_expression "(uVar15 < uStack_34)" ( (binary_expression "uVar15 < uStack_34" identifier < identifier) )) (compound_statement "{\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }" { (expression_statement "uStack_34 = 0;" (assignment_expression "uStack_34 = 0" identifier = number_literal) ;) (expression_statement "uStack_38 = iVar9 - uVar8;" (assignment_expression "uStack_38 = iVar9 - uVar8" identifier = (binary_expression "iVar9 - uVar8" identifier - identifier)) ;) }) (else_clause "else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" else (compound_statement "{\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" { (expression_statement "uStack_38 = (iVar9 - uVar8) + uStack_34;" (assignment_expression "uStack_38 = (iVar9 - uVar8) + uStack_34" identifier = (binary_expression "(iVar9 - uVar8) + uStack_34" (parenthesized_expression "(iVar9 - uVar8)" ( (binary_expression "iVar9 - uVar8" identifier - identifier) )) + identifier)) ;) }))))))) (if_statement "if (-1 < (int)uStack_38) break;" if (parenthesized_expression "(-1 < (int)uStack_38)" ( (binary_expression "-1 < (int)uStack_38" number_literal < (cast_expression "(int)uStack_38" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (if_statement "if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }" if (parenthesized_expression "(((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0))" ( (binary_expression "((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)" (parenthesized_expression "((uStack_44 & 0x10) != 0)" ( (binary_expression "(uStack_44 & 0x10) != 0" (parenthesized_expression "(uStack_44 & 0x10)" ( (binary_expression "uStack_44 & 0x10" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((uStack_44 & 0xe) != 0)" ( (binary_expression "(uStack_44 & 0xe) != 0" (parenthesized_expression "(uStack_44 & 0xe)" ( (binary_expression "uStack_44 & 0xe" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }" { (expression_statement "iVar9 = *(int *)param_2[0x1a];" (assignment_expression "iVar9 = *(int *)param_2[0x1a]" identifier = (pointer_expression "*(int *)param_2[0x1a]" * (cast_expression "(int *)param_2[0x1a]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x1a]" identifier [ number_literal ])))) ;) (expression_statement "local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);" (assignment_expression "local_40 = (uint *)FUN_000234c0(iVar9 + 0x18)" identifier = (cast_expression "(uint *)FUN_000234c0(iVar9 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000234c0(iVar9 + 0x18)" identifier (argument_list "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = puVar14[3];" (assignment_expression "uVar15 = puVar14[3]" identifier = (subscript_expression "puVar14[3]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0x24) + uVar15;" (assignment_expression "iVar12 = *(int *)(iVar9 + 0x24) + uVar15" identifier = (binary_expression "*(int *)(iVar9 + 0x24) + uVar15" (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) + identifier)) ;) (expression_statement "*(int *)(iVar9 + 0x24) = iVar12;" (assignment_expression "*(int *)(iVar9 + 0x24) = iVar12" (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }" if (parenthesized_expression "(iVar12 == *(int *)(iVar9 + 0x20))" ( (binary_expression "iVar12 == *(int *)(iVar9 + 0x20)" identifier == (pointer_expression "*(int *)(iVar9 + 0x20)" * (cast_expression "(int *)(iVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) ))))) )) (compound_statement "{\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }" { (expression_statement "*(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;" (assignment_expression "*(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2" (pointer_expression "*(byte *)(iVar9 + 0x40)" * (cast_expression "(byte *)(iVar9 + 0x40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x40)" ( (binary_expression "iVar9 + 0x40" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar9 + 0x40) | 2" (pointer_expression "*(byte *)(iVar9 + 0x40)" * (cast_expression "(byte *)(iVar9 + 0x40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x40)" ( (binary_expression "iVar9 + 0x40" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "uVar7 = *(uint *)(iVar9 + 0x28);" (assignment_expression "uVar7 = *(uint *)(iVar9 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar9 + 0x28)" * (cast_expression "(uint *)(iVar9 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x28)" ( (binary_expression "iVar9 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);" (assignment_expression "uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30)" identifier = (binary_expression "iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30)" (binary_expression "iVar12 + *(uint *)(iVar9 + 0x30)" identifier + (pointer_expression "*(uint *)(iVar9 + 0x30)" * (cast_expression "(uint *)(iVar9 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x30)" ( (binary_expression "iVar9 + 0x30" identifier + number_literal) ))))) & (unary_expression "~*(uint *)(iVar9 + 0x30)" ~ (pointer_expression "*(uint *)(iVar9 + 0x30)" * (cast_expression "(uint *)(iVar9 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x30)" ( (binary_expression "iVar9 + 0x30" identifier + number_literal) ))))))) ;) (expression_statement "*(uint *)(iVar9 + 0x24) = uVar8;" (assignment_expression "*(uint *)(iVar9 + 0x24) = uVar8" (pointer_expression "*(uint *)(iVar9 + 0x24)" * (cast_expression "(uint *)(iVar9 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) = identifier) ;) (if_statement "if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }" if (parenthesized_expression "(uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c))" ( (binary_expression "uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)" (binary_expression "uVar7 - *(int *)(iVar9 + 0x1c)" identifier - (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) ))))) < (binary_expression "uVar8 - *(int *)(iVar9 + 0x1c)" identifier - (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))))) )) (compound_statement "{\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }" { (expression_statement "*(uint *)(iVar9 + 0x24) = uVar7;" (assignment_expression "*(uint *)(iVar9 + 0x24) = uVar7" (pointer_expression "*(uint *)(iVar9 + 0x24)" * (cast_expression "(uint *)(iVar9 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar8 = uVar7;" (assignment_expression "uVar8 = uVar7" identifier = identifier) ;) })) (expression_statement "*(uint *)(iVar9 + 0x20) = uVar8;" (assignment_expression "*(uint *)(iVar9 + 0x20) = uVar8" (pointer_expression "*(uint *)(iVar9 + 0x20)" * (cast_expression "(uint *)(iVar9 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*local_40 = *puVar14;" (assignment_expression "*local_40 = *puVar14" (pointer_expression "*local_40" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "local_40[0x14] = puVar14[0x14];" (assignment_expression "local_40[0x14] = puVar14[0x14]" (subscript_expression "local_40[0x14]" identifier [ number_literal ]) = (subscript_expression "puVar14[0x14]" identifier [ number_literal ])) ;) (expression_statement "iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);" (assignment_expression "iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc)" identifier = (binary_expression "(int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc)" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(local_40 + 1) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(local_40 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_40 + 1) & 0xfffffffc" (call_expression "(uint)(local_40 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_40 + 1)" ( (binary_expression "local_40 + 1" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "puVar16 = (undefined4 *)((int)puVar14 - iVar9);" (assignment_expression "puVar16 = (undefined4 *)((int)puVar14 - iVar9)" identifier = (cast_expression "(undefined4 *)((int)puVar14 - iVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 - iVar9)" ( (binary_expression "(int)puVar14 - iVar9" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);" (assignment_expression "puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(local_40 + 1) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(local_40 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_40 + 1) & 0xfffffffc" (call_expression "(uint)(local_40 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_40 + 1)" ( (binary_expression "local_40 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }" for ( (assignment_expression "uVar7 = iVar9 + 0x54U >> 2" identifier = (binary_expression "iVar9 + 0x54U >> 2" (binary_expression "iVar9 + 0x54U" identifier + number_literal) >> number_literal)) ; (binary_expression "uVar7 != 0" identifier != number_literal) ; (assignment_expression "uVar7 = uVar7 - 1" identifier = (binary_expression "uVar7 - 1" identifier - number_literal)) ) (compound_statement "{\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }" { (expression_statement "*puVar17 = *puVar16;" (assignment_expression "*puVar17 = *puVar16" (pointer_expression "*puVar17" * identifier) = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "puVar16 = puVar16 + (uint)bVar18 * -2 + 1;" (assignment_expression "puVar16 = puVar16 + (uint)bVar18 * -2 + 1" identifier = (binary_expression "puVar16 + (uint)bVar18 * -2 + 1" (binary_expression "puVar16 + (uint)bVar18 * -2" identifier + (binary_expression "(uint)bVar18 * -2" (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar17 = puVar17 + (uint)bVar18 * -2 + 1;" (assignment_expression "puVar17 = puVar17 + (uint)bVar18 * -2 + 1" identifier = (binary_expression "puVar17 + (uint)bVar18 * -2 + 1" (binary_expression "puVar17 + (uint)bVar18 * -2" identifier + (binary_expression "(uint)bVar18 * -2" (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);" (call_expression "memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3])" identifier (argument_list "(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3])" ( (binary_expression "local_40 + 0x15" identifier + number_literal) , (cast_expression "(void *)((int)puVar14 + puVar14[2] + 0x54)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + puVar14[2] + 0x54)" ( (binary_expression "(int)puVar14 + puVar14[2] + 0x54" (binary_expression "(int)puVar14 + puVar14[2]" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "puVar14[2]" identifier [ number_literal ])) + number_literal) ))) , (subscript_expression "puVar14[3]" identifier [ number_literal ]) ))) ;) (expression_statement "uStack_34 = uVar6 + puVar14[2] + uStack_34;" (assignment_expression "uStack_34 = uVar6 + puVar14[2] + uStack_34" identifier = (binary_expression "uVar6 + puVar14[2] + uStack_34" (binary_expression "uVar6 + puVar14[2]" identifier + (subscript_expression "puVar14[2]" identifier [ number_literal ])) + identifier)) ;) (expression_statement "uVar7 = puVar14[4];" (assignment_expression "uVar7 = puVar14[4]" identifier = (subscript_expression "puVar14[4]" identifier [ number_literal ])) ;) (expression_statement "local_40[0xc] = 1;" (assignment_expression "local_40[0xc] = 1" (subscript_expression "local_40[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*local_40 = uStack_34;" (assignment_expression "*local_40 = uStack_34" (pointer_expression "*local_40" * identifier) = identifier) ;) (expression_statement "local_40[2] = 0;" (assignment_expression "local_40[2] = 0" (subscript_expression "local_40[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];" (assignment_expression "uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3]" identifier = (binary_expression "(1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3]" (parenthesized_expression "(1 << ((byte)uVar7 & 0x1f))" ( (binary_expression "1 << ((byte)uVar7 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar7 & 0x1f)" ( (binary_expression "(byte)uVar7 & 0x1f" (cast_expression "(byte)uVar7" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) / (cast_expression "(int)puVar14[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar14[3]" identifier [ number_literal ])))) ;) (expression_statement "local_40[4] = uVar7;" (assignment_expression "local_40[4] = uVar7" (subscript_expression "local_40[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar8 = 1 << ((byte)puVar14[4] & 0x1f);" (assignment_expression "uVar8 = 1 << ((byte)puVar14[4] & 0x1f)" identifier = (binary_expression "1 << ((byte)puVar14[4] & 0x1f)" number_literal << (parenthesized_expression "((byte)puVar14[4] & 0x1f)" ( (binary_expression "(byte)puVar14[4] & 0x1f" (cast_expression "(byte)puVar14[4]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar14[4]" identifier [ number_literal ])) & number_literal) )))) ;) (if_statement "if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }" if (parenthesized_expression "(uVar15 * uVar7 - uVar8 == 0)" ( (binary_expression "uVar15 * uVar7 - uVar8 == 0" (binary_expression "uVar15 * uVar7 - uVar8" (binary_expression "uVar15 * uVar7" identifier * identifier) - identifier) == number_literal) )) (compound_statement "{\n            uVar8 = uVar7 * local_40[3];\n          }" { (expression_statement "uVar8 = uVar7 * local_40[3];" (assignment_expression "uVar8 = uVar7 * local_40[3]" identifier = (binary_expression "uVar7 * local_40[3]" identifier * (subscript_expression "local_40[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }" else (compound_statement "{\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }" { (expression_statement "local_40[4] = uVar8;" (assignment_expression "local_40[4] = uVar8" (subscript_expression "local_40[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_40[3] = 1;" (assignment_expression "local_40[3] = 1" (subscript_expression "local_40[3]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "uStack_38 = uStack_38 + uVar8;" (assignment_expression "uStack_38 = uStack_38 + uVar8" identifier = (binary_expression "uStack_38 + uVar8" identifier + identifier)) ;) (expression_statement "*local_40 = uStack_34 - (uStack_38 + local_4c);" (assignment_expression "*local_40 = uStack_34 - (uStack_38 + local_4c)" (pointer_expression "*local_40" * identifier) = (binary_expression "uStack_34 - (uStack_38 + local_4c)" identifier - (parenthesized_expression "(uStack_38 + local_4c)" ( (binary_expression "uStack_38 + local_4c" identifier + identifier) )))) ;) (expression_statement "*(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;" (assignment_expression "*(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1" (pointer_expression "*(byte *)((int)local_40 + 0x2e)" * (cast_expression "(byte *)((int)local_40 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_40 + 0x2e)" ( (binary_expression "(int)local_40 + 0x2e" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1" (binary_expression "*(byte *)((int)local_40 + 0x2e) & 0xfe" (pointer_expression "*(byte *)((int)local_40 + 0x2e)" * (cast_expression "(byte *)((int)local_40 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_40 + 0x2e)" ( (binary_expression "(int)local_40 + 0x2e" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "*(byte *)((int)local_40 + 0x2e) & 1 ^ 1" (binary_expression "*(byte *)((int)local_40 + 0x2e) & 1" (pointer_expression "*(byte *)((int)local_40 + 0x2e)" * (cast_expression "(byte *)((int)local_40 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_40 + 0x2e)" ( (binary_expression "(int)local_40 + 0x2e" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) ^ number_literal))) ;) (expression_statement "puVar14[7] = (uint)local_40;" (assignment_expression "puVar14[7] = (uint)local_40" (subscript_expression "puVar14[7]" identifier [ number_literal ]) = (cast_expression "(uint)local_40" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto code_r0x0003da0f;" goto statement_identifier ;) })) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "local_4c = local_4c + uStack_38;" (assignment_expression "local_4c = local_4c + uStack_38" identifier = (binary_expression "local_4c + uStack_38" identifier + identifier)) ;) (goto_statement "goto joined_r0x0003d74b;" goto statement_identifier ;)) (case_statement "case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;" case number_literal : (if_statement "if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }" { (expression_statement "iVar9 = FUN_00036e00(uVar8);" (assignment_expression "iVar9 = FUN_00036e00(uVar8)" identifier = (call_expression "FUN_00036e00(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (if_statement "if (*(int *)(iVar9 + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }" if (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x1c) != 0" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }" { comment (expression_statement "FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");" (call_expression "FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment")" identifier (argument_list "("../../gas/write.c",0xb80,"relax_segment")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""relax_segment"" " string_content ") ))) ;) })) (expression_statement "iVar9 = FUN_00038490(uVar8);" (assignment_expression "iVar9 = FUN_00038490(uVar8)" identifier = (call_expression "FUN_00038490(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "uStack_38 = uStack_38 + iVar9;" (assignment_expression "uStack_38 = uStack_38 + iVar9" identifier = (binary_expression "uStack_38 + iVar9" identifier + identifier)) ;) })) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (if_statement "if (local_40 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }" if (parenthesized_expression "(local_40 == (uint *)0x0)" ( (binary_expression "local_40 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }" { comment (expression_statement "FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");" (call_expression "FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment")" identifier (argument_list "("../../gas/write.c",0xb84,"relax_segment")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""relax_segment"" " string_content ") ))) ;) })) (expression_statement "uVar7 = *local_40;" (assignment_expression "uVar7 = *local_40" identifier = (pointer_expression "*local_40" * identifier)) ;) (if_statement "if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }" if (parenthesized_expression "(uVar6 + puVar14[2] <= uStack_38)" ( (binary_expression "uVar6 + puVar14[2] <= uStack_38" (binary_expression "uVar6 + puVar14[2]" identifier + (subscript_expression "puVar14[2]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }" { (expression_statement "uStack_38 = uStack_38 - (uVar7 + local_4c);" (assignment_expression "uStack_38 = uStack_38 - (uVar7 + local_4c)" identifier = (binary_expression "uStack_38 - (uVar7 + local_4c)" identifier - (parenthesized_expression "(uVar7 + local_4c)" ( (binary_expression "uVar7 + local_4c" identifier + identifier) )))) ;) (labeled_statement "code_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }" statement_identifier : (if_statement "if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }" if (parenthesized_expression "(uStack_38 != 0)" ( (binary_expression "uStack_38 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }" { (expression_statement "uVar7 = puVar14[0xc];" (assignment_expression "uVar7 = puVar14[0xc]" identifier = (subscript_expression "puVar14[0xc]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x0003d73c;" goto statement_identifier ;) }))) (goto_statement "goto code_r0x0003d70f;" goto statement_identifier ;) })) (if_statement "if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }" if (parenthesized_expression "(1 < param_3)" ( (binary_expression "1 < param_3" number_literal < identifier) )) (compound_statement "{\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }" { (expression_statement "uVar13 = dcgettext(0,"attempt to move .org backwards",5);" (assignment_expression "uVar13 = dcgettext(0,"attempt to move .org backwards",5)" identifier = (call_expression "dcgettext(0,"attempt to move .org backwards",5)" identifier (argument_list "(0,"attempt to move .org backwards",5)" ( number_literal , (string_literal ""attempt to move .org backwards"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);" (call_expression "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13)" identifier (argument_list "(puVar14[8],puVar14[9],uVar13)" ( (subscript_expression "puVar14[8]" identifier [ number_literal ]) , (subscript_expression "puVar14[9]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "puVar14[0xc] = 2;" (assignment_expression "puVar14[0xc] = 2" (subscript_expression "puVar14[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14[0xd] = 0;" (assignment_expression "puVar14[0xd] = 0" (subscript_expression "puVar14[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14[4] = 0;" (assignment_expression "puVar14[4] = 0" (subscript_expression "puVar14[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14[2] = uVar7 - uVar15;" (assignment_expression "puVar14[2] = uVar7 - uVar15" (subscript_expression "puVar14[2]" identifier [ number_literal ]) = (binary_expression "uVar7 - uVar15" identifier - identifier)) ;) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (goto_statement "goto joined_r0x0003d763;" goto statement_identifier ;) })) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) (expression_statement "puVar14 = local_40;" (assignment_expression "puVar14 = local_40" identifier = identifier) ;) (expression_statement "uVar15 = uVar7;" (assignment_expression "uVar15 = uVar7" identifier = identifier) ;) (goto_statement "goto code_r0x0003d598;" goto statement_identifier ;)) (case_statement "case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;" case number_literal : (expression_statement "uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);" (assignment_expression "uStack_38 = FUN_0003d290(param_2,puVar14,local_4c)" identifier = (call_expression "FUN_0003d290(param_2,puVar14,local_4c)" identifier (argument_list "(param_2,puVar14,local_4c)" ( identifier , identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 8:" case number_literal :) (case_statement "case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;" case number_literal : (if_statement "if (uVar8 == 0) goto code_r0x0003d708;" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x0003d708;" goto statement_identifier ;)) (expression_statement "iVar9 = FUN_00038490(uVar8);" (assignment_expression "iVar9 = FUN_00038490(uVar8)" identifier = (call_expression "FUN_00038490(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "puVar11 = (undefined *)FUN_00036e00(uVar8);" (assignment_expression "puVar11 = (undefined *)FUN_00036e00(uVar8)" identifier = (cast_expression "(undefined *)FUN_00036e00(uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00036e00(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))))) ;) (if_statement "if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }" if (parenthesized_expression "(((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0))" ( (binary_expression "((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)" (parenthesized_expression "((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0))" ( (binary_expression "(puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)" (parenthesized_expression "(puVar11 == puVar5)" ( (binary_expression "puVar11 == puVar5" identifier == identifier) )) && (parenthesized_expression "(iVar12 = FUN_000369b0(uVar8), iVar12 == 0)" ( (comma_expression "iVar12 = FUN_000369b0(uVar8), iVar12 == 0" (assignment_expression "iVar12 = FUN_000369b0(uVar8)" identifier = (call_expression "FUN_000369b0(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) , (binary_expression "iVar12 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(iVar12 = FUN_00036a00(uVar8), iVar12 != 0)" ( (comma_expression "iVar12 = FUN_00036a00(uVar8), iVar12 != 0" (assignment_expression "iVar12 = FUN_00036a00(uVar8)" identifier = (call_expression "FUN_00036a00(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) , (binary_expression "iVar12 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }" { (if_statement "if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }" if (parenthesized_expression "(-1 < iVar9)" ( (binary_expression "-1 < iVar9" number_literal < identifier) )) (compound_statement "{\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }" { (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;" (assignment_expression "uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9" identifier = (binary_expression "((puVar14[2] + uVar15) - *local_40) + iVar9" (parenthesized_expression "((puVar14[2] + uVar15) - *local_40)" ( (binary_expression "(puVar14[2] + uVar15) - *local_40" (parenthesized_expression "(puVar14[2] + uVar15)" ( (binary_expression "puVar14[2] + uVar15" (subscript_expression "puVar14[2]" identifier [ number_literal ]) + identifier) )) - (pointer_expression "*local_40" * identifier)) )) + identifier)) ;) (goto_statement "goto code_r0x0003da0f;" goto statement_identifier ;) })) (if_statement "if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }" if (parenthesized_expression "(param_3 < 2)" ( (binary_expression "param_3 < 2" identifier < number_literal) )) (compound_statement "{\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }" { (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) }) (else_clause "else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }" else (compound_statement "{\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }" { (expression_statement "uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);" (assignment_expression "uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5)" identifier = (call_expression "dcgettext(0,".space, .nops or .fill with negative value, ignored",5)" identifier (argument_list "(0,".space, .nops or .fill with negative value, ignored",5)" ( number_literal , (string_literal "".space, .nops or .fill with negative value, ignored"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002a910(puVar14[8],puVar14[9],uVar13);" (call_expression "FUN_0002a910(puVar14[8],puVar14[9],uVar13)" identifier (argument_list "(puVar14[8],puVar14[9],uVar13)" ( (subscript_expression "puVar14[8]" identifier [ number_literal ]) , (subscript_expression "puVar14[9]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "puVar14[5] = 0;" (assignment_expression "puVar14[5] = 0" (subscript_expression "puVar14[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) }))) }) (else_clause "else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }" else (compound_statement "{\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }" { (expression_statement "uVar13 = dcgettext(0,".space specifies non-absolute value",5);" (assignment_expression "uVar13 = dcgettext(0,".space specifies non-absolute value",5)" identifier = (call_expression "dcgettext(0,".space specifies non-absolute value",5)" identifier (argument_list "(0,".space specifies non-absolute value",5)" ( number_literal , (string_literal "".space specifies non-absolute value"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);" (call_expression "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13)" identifier (argument_list "(puVar14[8],puVar14[9],uVar13)" ( (subscript_expression "puVar14[8]" identifier [ number_literal ]) , (subscript_expression "puVar14[9]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "puVar14[5] = 0;" (assignment_expression "puVar14[5] = 0" (subscript_expression "puVar14[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) }))) (goto_statement "goto joined_r0x0003d763;" goto statement_identifier ;)) (case_statement "case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;" case number_literal : (expression_statement "uVar13 = FUN_00037320(uVar8);" (assignment_expression "uVar13 = FUN_00037320(uVar8)" identifier = (call_expression "FUN_00037320(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "uVar15 = FUN_00030420(uVar13,puVar14[0xd]);" (assignment_expression "uVar15 = FUN_00030420(uVar13,puVar14[0xd])" identifier = (call_expression "FUN_00030420(uVar13,puVar14[0xd])" identifier (argument_list "(uVar13,puVar14[0xd])" ( identifier , (subscript_expression "puVar14[0xd]" identifier [ number_literal ]) )))) ;) (expression_statement "uStack_38 = uVar15 - puVar14[4];" (assignment_expression "uStack_38 = uVar15 - puVar14[4]" identifier = (binary_expression "uVar15 - puVar14[4]" identifier - (subscript_expression "puVar14[4]" identifier [ number_literal ]))) ;) (expression_statement "puVar14[4] = uVar15;" (assignment_expression "puVar14[4] = uVar15" (subscript_expression "puVar14[4]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;" case number_literal : (expression_statement "uStack_38 = FUN_0001fe60(puVar14);" (assignment_expression "uStack_38 = FUN_0001fe60(puVar14)" identifier = (call_expression "FUN_0001fe60(puVar14)" identifier (argument_list "(puVar14)" ( identifier )))) ;) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (goto_statement "goto joined_r0x0003d971;" goto statement_identifier ;)) (case_statement "case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);" case number_literal : (expression_statement "uStack_38 = FUN_0001b9b0(puVar14);" (assignment_expression "uStack_38 = FUN_0001b9b0(puVar14)" identifier = (call_expression "FUN_0001b9b0(puVar14)" identifier (argument_list "(puVar14)" ( identifier )))) ;)) })) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (labeled_statement "joined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }" statement_identifier : (if_statement "if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }" if (parenthesized_expression "(uStack_38 != 0)" ( (binary_expression "uStack_38 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }" { (expression_statement "uVar7 = puVar14[0xc];" (assignment_expression "uVar7 = puVar14[0xc]" identifier = (subscript_expression "puVar14[0xc]" identifier [ number_literal ])) ;) (labeled_statement "code_r0x0003d73c:\n        local_4c = local_4c + uStack_38;" statement_identifier : (expression_statement "local_4c = local_4c + uStack_38;" (assignment_expression "local_4c = local_4c + uStack_38" identifier = (binary_expression "local_4c + uStack_38" identifier + identifier)) ;)) (if_statement "if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }" if (parenthesized_expression "(uVar7 == 0xb)" ( (binary_expression "uVar7 == 0xb" identifier == number_literal) )) (compound_statement "{\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }" { (expression_statement "uStack_44 = uStack_44 + 0x10;" (assignment_expression "uStack_44 = uStack_44 + 0x10" identifier = (binary_expression "uStack_44 + 0x10" identifier + number_literal)) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) }) (else_clause "else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }" else (compound_statement "{\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }" { (labeled_statement "joined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }" statement_identifier : (if_statement "if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }" if (parenthesized_expression "(((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0))" ( (binary_expression "((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)" (parenthesized_expression "((uVar7 == 2) && ((uStack_44 & 0x10) != 0))" ( (binary_expression "(uVar7 == 2) && ((uStack_44 & 0x10) != 0)" (parenthesized_expression "(uVar7 == 2)" ( (binary_expression "uVar7 == 2" identifier == number_literal) )) && (parenthesized_expression "((uStack_44 & 0x10) != 0)" ( (binary_expression "(uStack_44 & 0x10) != 0" (parenthesized_expression "(uStack_44 & 0x10)" ( (binary_expression "uStack_44 & 0x10" identifier & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) ))) )) (compound_statement "{\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }" { (expression_statement "uStack_44 = uStack_44 + 0x10;" (assignment_expression "uStack_44 = uStack_44 + 0x10" identifier = (binary_expression "uStack_44 + 0x10" identifier + number_literal)) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) }) (else_clause "else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }" else (compound_statement "{\n            uStack_44 = 0;\n            bVar4 = true;\n          }" { (expression_statement "uStack_44 = 0;" (assignment_expression "uStack_44 = 0" identifier = number_literal) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) })))) }))) }))) (labeled_statement "joined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }" statement_identifier : (if_statement "if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }" if (parenthesized_expression "(local_40 != (uint *)0x0)" ( (binary_expression "local_40 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }" { (labeled_statement "code_r0x0003d70f:\n        puVar14 = local_40;" statement_identifier : (expression_statement "puVar14 = local_40;" (assignment_expression "puVar14 = local_40" identifier = identifier) ;)) (expression_statement "uVar15 = *local_40;" (assignment_expression "uVar15 = *local_40" identifier = (pointer_expression "*local_40" * identifier)) ;) (goto_statement "goto code_r0x0003d598;" goto statement_identifier ;) }))) (if_statement "if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }" if (parenthesized_expression "(local_4c == 0 && (uStack_44 & 0x10) == 0)" ( (binary_expression "local_4c == 0 && (uStack_44 & 0x10) == 0" (binary_expression "local_4c == 0" identifier == number_literal) && (binary_expression "(uStack_44 & 0x10) == 0" (parenthesized_expression "(uStack_44 & 0x10)" ( (binary_expression "uStack_44 & 0x10" identifier & number_literal) )) == number_literal)) )) (compound_statement "{\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }" { (expression_statement "uVar15 = uStack_44 + 1;" (assignment_expression "uVar15 = uStack_44 + 1" identifier = (binary_expression "uStack_44 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = uStack_44 & 0xfffffff0;" (assignment_expression "uVar7 = uStack_44 & 0xfffffff0" identifier = (binary_expression "uStack_44 & 0xfffffff0" identifier & number_literal)) ;) (expression_statement "uStack_44 = 0;" (assignment_expression "uStack_44 = 0" identifier = number_literal) ;) (if_statement "if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          uStack_44 = uVar15;\n        }" { (expression_statement "uStack_44 = uVar15;" (assignment_expression "uStack_44 = uVar15" identifier = identifier) ;) })) }) (else_clause "else {\n        uStack_44 = 0;\n      }" else (compound_statement "{\n        uStack_44 = 0;\n      }" { (expression_statement "uStack_44 = 0;" (assignment_expression "uStack_44 = 0" identifier = number_literal) ;) }))) (if_statement "if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }" if (parenthesized_expression "(!bVar4)" ( (unary_expression "!bVar4" ! identifier) )) (compound_statement "{\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }" { (do_statement "do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);" do (compound_statement "{\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        }" { (if_statement "if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }" if (parenthesized_expression "(param_1[1] != *param_1)" ( (binary_expression "param_1[1] != *param_1" (subscript_expression "param_1[1]" identifier [ number_literal ]) != (pointer_expression "*param_1" * identifier)) )) (compound_statement "{\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }" { (expression_statement "param_1[1] = *param_1;" (assignment_expression "param_1[1] = *param_1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) })) (expression_statement "param_1 = (uint *)param_1[7];" (assignment_expression "param_1 = (uint *)param_1[7]" identifier = (cast_expression "(uint *)param_1[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[7]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(param_1 != (uint *)0x0)" ( (binary_expression "param_1 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (return_statement "return local_2c;" return identifier ;) })) (expression_statement "uStack_28 = uStack_28 - 1;" (assignment_expression "uStack_28 = uStack_28 - 1" identifier = (binary_expression "uStack_28 - 1" identifier - number_literal)) ;) (if_statement "if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar10,uVar13);\n      }" if (parenthesized_expression "(uStack_28 == 0)" ( (binary_expression "uStack_28 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aa20(uVar10,uVar13);\n      }" { (expression_statement "uVar13 = *param_2;" (assignment_expression "uVar13 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);" (assignment_expression "uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2)" identifier = (call_expression "dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2)" identifier (argument_list "(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2)" ( number_literal , (string_literal ""Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"" " string_content ") , number_literal , identifier )))) ;) comment (expression_statement "FUN_0002aa20(uVar10,uVar13);" (call_expression "FUN_0002aa20(uVar10,uVar13)" identifier (argument_list "(uVar10,uVar13)" ( identifier , identifier ))) ;) })) })) }))) (return_statement "return local_2c;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint relax_segment(frag *segment_frag_root,segT segment,int pass)\n\n{\n  offsetT *poVar1;\n  offsetT *poVar2;\n  symbolS *symp;\n  uint uVar3;\n  addressT aVar4;\n  offsetT oVar5;\n  short sVar6;\n  bool bVar7;\n  segT paVar8;\n  addressT aVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  char *format;\n  segT paVar13;\n  valueT vVar14;\n  char *pcVar15;\n  int iVar16;\n  frag *pfVar17;\n  uint uVar18;\n  int iVar19;\n  undefined4 *puVar20;\n  addressT aVar21;\n  relax_stateT rVar22;\n  undefined4 *puVar23;\n  byte bVar24;\n  int local_4c;\n  uint local_44;\n  fragS *local_40;\n  uint local_38;\n  uint local_34;\n  int local_2c;\n  uint local_28;\n  \n  bVar24 = 0;\n  subseg_change(segment,0);\n  if (segment_frag_root == (frag *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar6 = 0;\n    uVar18 = 0;\n    pfVar17 = segment_frag_root;\n    iVar12 = 0;\n    do {\n      iVar19 = iVar12;\n      pfVar17->fr_address = uVar18;\n      uVar18 = uVar18 + pfVar17->fr_fix;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe;\n      *(short *)&pfVar17->field_0x2c = sVar6;\n      rVar22 = pfVar17->fr_type;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");\n      case rs_fill:\n        poVar1 = &pfVar17->fr_offset;\n        poVar2 = &pfVar17->fr_var;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = *poVar1 * *poVar2 + uVar18;\n        break;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);\n        uVar10 = ~uVar10 + uVar18 & uVar10;\n        uVar11 = uVar10 - uVar18;\n        if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }\n      case rs_org:\n        pfVar17 = pfVar17->fr_next;\n        sVar6 = sVar6 + 1;\n        break;\n      case rs_machine_dependent:\n        if (pfVar17->fr_symbol != (symbolS *)0x0) {\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }\n        iVar12 = md_estimate_size_before_relax(pfVar17,segment);\n        uVar18 = uVar18 + iVar12;\n      case rs_space:\n      case rs_space_nop:\n        pfVar17 = pfVar17->fr_next;\n        break;\n      case rs_leb128:\n        pfVar17->fr_offset = 1;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + 1;\n        break;\n      case rs_cfa:\n        iVar12 = eh_frame_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n        break;\n      case rs_dwarf2dbg:\n        iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n      }\n      iVar12 = iVar19 + 1;\n    } while (pfVar17 != (frag *)0x0);\n    uVar18 = iVar19 + 1;\n    local_44 = 0;\n    local_2c = 0;\n    local_28 = uVar18 * uVar18;\n    if (uVar18 * uVar18 < uVar18) {\n      local_28 = uVar18;\n    }\n    paVar8 = (segT)(PTR__bfd_std_section_0007afb0 + 0x150);\n    while (segment_frag_root != (frag *)0x0) {\n      bVar7 = false;\n      local_4c = 0;\n      pfVar17 = segment_frag_root;\n      aVar21 = segment_frag_root->fr_address;\nLAB_0003d598:\n      rVar22 = pfVar17->fr_type;\n      symp = pfVar17->fr_symbol;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe | pfVar17->field_0x2e & 1 ^ 1;\n      aVar9 = local_4c + aVar21;\n      pfVar17->fr_address = aVar9;\n      local_38 = pfVar17->fr_offset;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");\n      case rs_fill:\n_L687:\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d763;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        iVar12 = aVar21 + pfVar17->fr_fix;\n        uVar18 = -1 << ((byte)local_38 & 0x1f);\n        uVar10 = iVar12 + ~uVar18 & uVar18;\n        iVar19 = aVar9 + pfVar17->fr_fix;\n        local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;\n        uVar18 = pfVar17->fr_subtype;\n        if (uVar18 == 0) {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        if (-1 < (int)local_38) break;\n        if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }\n        local_40 = pfVar17->fr_next;\n        local_4c = local_4c + local_38;\n        goto joined_r0x0003d74b;\n      case rs_org:\n        if (symp != (symbolS *)0x0) {\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }\n        local_40 = pfVar17->fr_next;\n        if (local_40 == (fragS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }\n        aVar4 = local_40->fr_address;\n        if (aVar9 + pfVar17->fr_fix <= local_38) {\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }\n        if (1 < pass) {\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        pfVar17 = local_40;\n        aVar21 = aVar4;\n        goto LAB_0003d598;\n      case rs_machine_dependent:\n        local_38 = relax_frag(segment,pfVar17,local_4c);\n        break;\n      case rs_space:\n      case rs_space_nop:\n        if (symp == (symbolS *)0x0) goto _L687;\n        vVar14 = S_GET_VALUE(symp);\n        paVar13 = S_GET_SEGMENT(symp);\n        if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }\n        else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }\n        goto joined_r0x0003d763;\n      case rs_leb128:\n        vVar14 = resolve_symbol_value(symp);\n        uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);\n        local_38 = uVar18 - pfVar17->fr_offset;\n        pfVar17->fr_offset = uVar18;\n        break;\n      case rs_cfa:\n        local_38 = eh_frame_relax_frag(pfVar17);\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d971;\n      case rs_dwarf2dbg:\n        local_38 = dwarf2dbg_relax_frag(pfVar17);\n      }\n      local_40 = pfVar17->fr_next;\njoined_r0x0003d971:\n      if (local_38 != 0) {\n        rVar22 = pfVar17->fr_type;\nLAB_0003d73c:\n        local_4c = local_4c + local_38;\n        if (rVar22 == rs_leb128) {\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (fragS *)0x0) {\nLAB_0003d70f:\n        pfVar17 = local_40;\n        aVar21 = local_40->fr_address;\n        goto LAB_0003d598;\n      }\n      if (local_4c == 0 && (local_44 & 0x10) == 0) {\n        uVar18 = local_44 + 1;\n        uVar10 = local_44 & 0xfffffff0;\n        local_44 = 0;\n        if (uVar10 != 0) {\n          local_44 = uVar18;\n        }\n      }\n      else {\n        local_44 = 0;\n      }\n      if (!bVar7) {\n        do {\n          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }\n          segment_frag_root = segment_frag_root->fr_next;\n        } while (segment_frag_root != (frag *)0x0);\n        return local_2c;\n      }\n      local_28 = local_28 - 1;\n      if (local_28 == 0) {\n        pcVar15 = segment->name;\n        format = (char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(format,pcVar15);\n      }\n    }\n  }\n  return local_2c;\n}\n\n" comment (function_definition "int relax_segment(frag *segment_frag_root,segT segment,int pass)\n\n{\n  offsetT *poVar1;\n  offsetT *poVar2;\n  symbolS *symp;\n  uint uVar3;\n  addressT aVar4;\n  offsetT oVar5;\n  short sVar6;\n  bool bVar7;\n  segT paVar8;\n  addressT aVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  char *format;\n  segT paVar13;\n  valueT vVar14;\n  char *pcVar15;\n  int iVar16;\n  frag *pfVar17;\n  uint uVar18;\n  int iVar19;\n  undefined4 *puVar20;\n  addressT aVar21;\n  relax_stateT rVar22;\n  undefined4 *puVar23;\n  byte bVar24;\n  int local_4c;\n  uint local_44;\n  fragS *local_40;\n  uint local_38;\n  uint local_34;\n  int local_2c;\n  uint local_28;\n  \n  bVar24 = 0;\n  subseg_change(segment,0);\n  if (segment_frag_root == (frag *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar6 = 0;\n    uVar18 = 0;\n    pfVar17 = segment_frag_root;\n    iVar12 = 0;\n    do {\n      iVar19 = iVar12;\n      pfVar17->fr_address = uVar18;\n      uVar18 = uVar18 + pfVar17->fr_fix;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe;\n      *(short *)&pfVar17->field_0x2c = sVar6;\n      rVar22 = pfVar17->fr_type;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");\n      case rs_fill:\n        poVar1 = &pfVar17->fr_offset;\n        poVar2 = &pfVar17->fr_var;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = *poVar1 * *poVar2 + uVar18;\n        break;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);\n        uVar10 = ~uVar10 + uVar18 & uVar10;\n        uVar11 = uVar10 - uVar18;\n        if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }\n      case rs_org:\n        pfVar17 = pfVar17->fr_next;\n        sVar6 = sVar6 + 1;\n        break;\n      case rs_machine_dependent:\n        if (pfVar17->fr_symbol != (symbolS *)0x0) {\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }\n        iVar12 = md_estimate_size_before_relax(pfVar17,segment);\n        uVar18 = uVar18 + iVar12;\n      case rs_space:\n      case rs_space_nop:\n        pfVar17 = pfVar17->fr_next;\n        break;\n      case rs_leb128:\n        pfVar17->fr_offset = 1;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + 1;\n        break;\n      case rs_cfa:\n        iVar12 = eh_frame_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n        break;\n      case rs_dwarf2dbg:\n        iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n      }\n      iVar12 = iVar19 + 1;\n    } while (pfVar17 != (frag *)0x0);\n    uVar18 = iVar19 + 1;\n    local_44 = 0;\n    local_2c = 0;\n    local_28 = uVar18 * uVar18;\n    if (uVar18 * uVar18 < uVar18) {\n      local_28 = uVar18;\n    }\n    paVar8 = (segT)(PTR__bfd_std_section_0007afb0 + 0x150);\n    while (segment_frag_root != (frag *)0x0) {\n      bVar7 = false;\n      local_4c = 0;\n      pfVar17 = segment_frag_root;\n      aVar21 = segment_frag_root->fr_address;\nLAB_0003d598:\n      rVar22 = pfVar17->fr_type;\n      symp = pfVar17->fr_symbol;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe | pfVar17->field_0x2e & 1 ^ 1;\n      aVar9 = local_4c + aVar21;\n      pfVar17->fr_address = aVar9;\n      local_38 = pfVar17->fr_offset;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");\n      case rs_fill:\n_L687:\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d763;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        iVar12 = aVar21 + pfVar17->fr_fix;\n        uVar18 = -1 << ((byte)local_38 & 0x1f);\n        uVar10 = iVar12 + ~uVar18 & uVar18;\n        iVar19 = aVar9 + pfVar17->fr_fix;\n        local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;\n        uVar18 = pfVar17->fr_subtype;\n        if (uVar18 == 0) {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        if (-1 < (int)local_38) break;\n        if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }\n        local_40 = pfVar17->fr_next;\n        local_4c = local_4c + local_38;\n        goto joined_r0x0003d74b;\n      case rs_org:\n        if (symp != (symbolS *)0x0) {\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }\n        local_40 = pfVar17->fr_next;\n        if (local_40 == (fragS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }\n        aVar4 = local_40->fr_address;\n        if (aVar9 + pfVar17->fr_fix <= local_38) {\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }\n        if (1 < pass) {\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        pfVar17 = local_40;\n        aVar21 = aVar4;\n        goto LAB_0003d598;\n      case rs_machine_dependent:\n        local_38 = relax_frag(segment,pfVar17,local_4c);\n        break;\n      case rs_space:\n      case rs_space_nop:\n        if (symp == (symbolS *)0x0) goto _L687;\n        vVar14 = S_GET_VALUE(symp);\n        paVar13 = S_GET_SEGMENT(symp);\n        if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }\n        else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }\n        goto joined_r0x0003d763;\n      case rs_leb128:\n        vVar14 = resolve_symbol_value(symp);\n        uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);\n        local_38 = uVar18 - pfVar17->fr_offset;\n        pfVar17->fr_offset = uVar18;\n        break;\n      case rs_cfa:\n        local_38 = eh_frame_relax_frag(pfVar17);\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d971;\n      case rs_dwarf2dbg:\n        local_38 = dwarf2dbg_relax_frag(pfVar17);\n      }\n      local_40 = pfVar17->fr_next;\njoined_r0x0003d971:\n      if (local_38 != 0) {\n        rVar22 = pfVar17->fr_type;\nLAB_0003d73c:\n        local_4c = local_4c + local_38;\n        if (rVar22 == rs_leb128) {\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (fragS *)0x0) {\nLAB_0003d70f:\n        pfVar17 = local_40;\n        aVar21 = local_40->fr_address;\n        goto LAB_0003d598;\n      }\n      if (local_4c == 0 && (local_44 & 0x10) == 0) {\n        uVar18 = local_44 + 1;\n        uVar10 = local_44 & 0xfffffff0;\n        local_44 = 0;\n        if (uVar10 != 0) {\n          local_44 = uVar18;\n        }\n      }\n      else {\n        local_44 = 0;\n      }\n      if (!bVar7) {\n        do {\n          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }\n          segment_frag_root = segment_frag_root->fr_next;\n        } while (segment_frag_root != (frag *)0x0);\n        return local_2c;\n      }\n      local_28 = local_28 - 1;\n      if (local_28 == 0) {\n        pcVar15 = segment->name;\n        format = (char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(format,pcVar15);\n      }\n    }\n  }\n  return local_2c;\n}" primitive_type (function_declarator "relax_segment(frag *segment_frag_root,segT segment,int pass)" identifier (parameter_list "(frag *segment_frag_root,segT segment,int pass)" ( (parameter_declaration "frag *segment_frag_root" type_identifier (pointer_declarator "*segment_frag_root" * identifier)) , (parameter_declaration "segT segment" type_identifier identifier) , (parameter_declaration "int pass" primitive_type identifier) ))) (compound_statement "{\n  offsetT *poVar1;\n  offsetT *poVar2;\n  symbolS *symp;\n  uint uVar3;\n  addressT aVar4;\n  offsetT oVar5;\n  short sVar6;\n  bool bVar7;\n  segT paVar8;\n  addressT aVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  char *format;\n  segT paVar13;\n  valueT vVar14;\n  char *pcVar15;\n  int iVar16;\n  frag *pfVar17;\n  uint uVar18;\n  int iVar19;\n  undefined4 *puVar20;\n  addressT aVar21;\n  relax_stateT rVar22;\n  undefined4 *puVar23;\n  byte bVar24;\n  int local_4c;\n  uint local_44;\n  fragS *local_40;\n  uint local_38;\n  uint local_34;\n  int local_2c;\n  uint local_28;\n  \n  bVar24 = 0;\n  subseg_change(segment,0);\n  if (segment_frag_root == (frag *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar6 = 0;\n    uVar18 = 0;\n    pfVar17 = segment_frag_root;\n    iVar12 = 0;\n    do {\n      iVar19 = iVar12;\n      pfVar17->fr_address = uVar18;\n      uVar18 = uVar18 + pfVar17->fr_fix;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe;\n      *(short *)&pfVar17->field_0x2c = sVar6;\n      rVar22 = pfVar17->fr_type;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");\n      case rs_fill:\n        poVar1 = &pfVar17->fr_offset;\n        poVar2 = &pfVar17->fr_var;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = *poVar1 * *poVar2 + uVar18;\n        break;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);\n        uVar10 = ~uVar10 + uVar18 & uVar10;\n        uVar11 = uVar10 - uVar18;\n        if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }\n      case rs_org:\n        pfVar17 = pfVar17->fr_next;\n        sVar6 = sVar6 + 1;\n        break;\n      case rs_machine_dependent:\n        if (pfVar17->fr_symbol != (symbolS *)0x0) {\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }\n        iVar12 = md_estimate_size_before_relax(pfVar17,segment);\n        uVar18 = uVar18 + iVar12;\n      case rs_space:\n      case rs_space_nop:\n        pfVar17 = pfVar17->fr_next;\n        break;\n      case rs_leb128:\n        pfVar17->fr_offset = 1;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + 1;\n        break;\n      case rs_cfa:\n        iVar12 = eh_frame_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n        break;\n      case rs_dwarf2dbg:\n        iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n      }\n      iVar12 = iVar19 + 1;\n    } while (pfVar17 != (frag *)0x0);\n    uVar18 = iVar19 + 1;\n    local_44 = 0;\n    local_2c = 0;\n    local_28 = uVar18 * uVar18;\n    if (uVar18 * uVar18 < uVar18) {\n      local_28 = uVar18;\n    }\n    paVar8 = (segT)(PTR__bfd_std_section_0007afb0 + 0x150);\n    while (segment_frag_root != (frag *)0x0) {\n      bVar7 = false;\n      local_4c = 0;\n      pfVar17 = segment_frag_root;\n      aVar21 = segment_frag_root->fr_address;\nLAB_0003d598:\n      rVar22 = pfVar17->fr_type;\n      symp = pfVar17->fr_symbol;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe | pfVar17->field_0x2e & 1 ^ 1;\n      aVar9 = local_4c + aVar21;\n      pfVar17->fr_address = aVar9;\n      local_38 = pfVar17->fr_offset;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");\n      case rs_fill:\n_L687:\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d763;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        iVar12 = aVar21 + pfVar17->fr_fix;\n        uVar18 = -1 << ((byte)local_38 & 0x1f);\n        uVar10 = iVar12 + ~uVar18 & uVar18;\n        iVar19 = aVar9 + pfVar17->fr_fix;\n        local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;\n        uVar18 = pfVar17->fr_subtype;\n        if (uVar18 == 0) {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        if (-1 < (int)local_38) break;\n        if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }\n        local_40 = pfVar17->fr_next;\n        local_4c = local_4c + local_38;\n        goto joined_r0x0003d74b;\n      case rs_org:\n        if (symp != (symbolS *)0x0) {\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }\n        local_40 = pfVar17->fr_next;\n        if (local_40 == (fragS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }\n        aVar4 = local_40->fr_address;\n        if (aVar9 + pfVar17->fr_fix <= local_38) {\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }\n        if (1 < pass) {\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        pfVar17 = local_40;\n        aVar21 = aVar4;\n        goto LAB_0003d598;\n      case rs_machine_dependent:\n        local_38 = relax_frag(segment,pfVar17,local_4c);\n        break;\n      case rs_space:\n      case rs_space_nop:\n        if (symp == (symbolS *)0x0) goto _L687;\n        vVar14 = S_GET_VALUE(symp);\n        paVar13 = S_GET_SEGMENT(symp);\n        if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }\n        else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }\n        goto joined_r0x0003d763;\n      case rs_leb128:\n        vVar14 = resolve_symbol_value(symp);\n        uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);\n        local_38 = uVar18 - pfVar17->fr_offset;\n        pfVar17->fr_offset = uVar18;\n        break;\n      case rs_cfa:\n        local_38 = eh_frame_relax_frag(pfVar17);\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d971;\n      case rs_dwarf2dbg:\n        local_38 = dwarf2dbg_relax_frag(pfVar17);\n      }\n      local_40 = pfVar17->fr_next;\njoined_r0x0003d971:\n      if (local_38 != 0) {\n        rVar22 = pfVar17->fr_type;\nLAB_0003d73c:\n        local_4c = local_4c + local_38;\n        if (rVar22 == rs_leb128) {\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (fragS *)0x0) {\nLAB_0003d70f:\n        pfVar17 = local_40;\n        aVar21 = local_40->fr_address;\n        goto LAB_0003d598;\n      }\n      if (local_4c == 0 && (local_44 & 0x10) == 0) {\n        uVar18 = local_44 + 1;\n        uVar10 = local_44 & 0xfffffff0;\n        local_44 = 0;\n        if (uVar10 != 0) {\n          local_44 = uVar18;\n        }\n      }\n      else {\n        local_44 = 0;\n      }\n      if (!bVar7) {\n        do {\n          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }\n          segment_frag_root = segment_frag_root->fr_next;\n        } while (segment_frag_root != (frag *)0x0);\n        return local_2c;\n      }\n      local_28 = local_28 - 1;\n      if (local_28 == 0) {\n        pcVar15 = segment->name;\n        format = (char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(format,pcVar15);\n      }\n    }\n  }\n  return local_2c;\n}" { (declaration "offsetT *poVar1;" type_identifier (pointer_declarator "*poVar1" * identifier) ;) (declaration "offsetT *poVar2;" type_identifier (pointer_declarator "*poVar2" * identifier) ;) (declaration "symbolS *symp;" type_identifier (pointer_declarator "*symp" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "addressT aVar4;" type_identifier identifier ;) (declaration "offsetT oVar5;" type_identifier identifier ;) (declaration "short sVar6;" (sized_type_specifier "short" short) identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "segT paVar8;" type_identifier identifier ;) (declaration "addressT aVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "segT paVar13;" type_identifier identifier ;) (declaration "valueT vVar14;" type_identifier identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "frag *pfVar17;" type_identifier (pointer_declarator "*pfVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "addressT aVar21;" type_identifier identifier ;) (declaration "relax_stateT rVar22;" type_identifier identifier ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "byte bVar24;" type_identifier identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "fragS *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (expression_statement "bVar24 = 0;" (assignment_expression "bVar24 = 0" identifier = number_literal) ;) (expression_statement "subseg_change(segment,0);" (call_expression "subseg_change(segment,0)" identifier (argument_list "(segment,0)" ( identifier , number_literal ))) ;) (if_statement "if (segment_frag_root == (frag *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar6 = 0;\n    uVar18 = 0;\n    pfVar17 = segment_frag_root;\n    iVar12 = 0;\n    do {\n      iVar19 = iVar12;\n      pfVar17->fr_address = uVar18;\n      uVar18 = uVar18 + pfVar17->fr_fix;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe;\n      *(short *)&pfVar17->field_0x2c = sVar6;\n      rVar22 = pfVar17->fr_type;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");\n      case rs_fill:\n        poVar1 = &pfVar17->fr_offset;\n        poVar2 = &pfVar17->fr_var;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = *poVar1 * *poVar2 + uVar18;\n        break;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);\n        uVar10 = ~uVar10 + uVar18 & uVar10;\n        uVar11 = uVar10 - uVar18;\n        if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }\n      case rs_org:\n        pfVar17 = pfVar17->fr_next;\n        sVar6 = sVar6 + 1;\n        break;\n      case rs_machine_dependent:\n        if (pfVar17->fr_symbol != (symbolS *)0x0) {\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }\n        iVar12 = md_estimate_size_before_relax(pfVar17,segment);\n        uVar18 = uVar18 + iVar12;\n      case rs_space:\n      case rs_space_nop:\n        pfVar17 = pfVar17->fr_next;\n        break;\n      case rs_leb128:\n        pfVar17->fr_offset = 1;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + 1;\n        break;\n      case rs_cfa:\n        iVar12 = eh_frame_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n        break;\n      case rs_dwarf2dbg:\n        iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n      }\n      iVar12 = iVar19 + 1;\n    } while (pfVar17 != (frag *)0x0);\n    uVar18 = iVar19 + 1;\n    local_44 = 0;\n    local_2c = 0;\n    local_28 = uVar18 * uVar18;\n    if (uVar18 * uVar18 < uVar18) {\n      local_28 = uVar18;\n    }\n    paVar8 = (segT)(PTR__bfd_std_section_0007afb0 + 0x150);\n    while (segment_frag_root != (frag *)0x0) {\n      bVar7 = false;\n      local_4c = 0;\n      pfVar17 = segment_frag_root;\n      aVar21 = segment_frag_root->fr_address;\nLAB_0003d598:\n      rVar22 = pfVar17->fr_type;\n      symp = pfVar17->fr_symbol;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe | pfVar17->field_0x2e & 1 ^ 1;\n      aVar9 = local_4c + aVar21;\n      pfVar17->fr_address = aVar9;\n      local_38 = pfVar17->fr_offset;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");\n      case rs_fill:\n_L687:\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d763;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        iVar12 = aVar21 + pfVar17->fr_fix;\n        uVar18 = -1 << ((byte)local_38 & 0x1f);\n        uVar10 = iVar12 + ~uVar18 & uVar18;\n        iVar19 = aVar9 + pfVar17->fr_fix;\n        local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;\n        uVar18 = pfVar17->fr_subtype;\n        if (uVar18 == 0) {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        if (-1 < (int)local_38) break;\n        if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }\n        local_40 = pfVar17->fr_next;\n        local_4c = local_4c + local_38;\n        goto joined_r0x0003d74b;\n      case rs_org:\n        if (symp != (symbolS *)0x0) {\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }\n        local_40 = pfVar17->fr_next;\n        if (local_40 == (fragS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }\n        aVar4 = local_40->fr_address;\n        if (aVar9 + pfVar17->fr_fix <= local_38) {\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }\n        if (1 < pass) {\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        pfVar17 = local_40;\n        aVar21 = aVar4;\n        goto LAB_0003d598;\n      case rs_machine_dependent:\n        local_38 = relax_frag(segment,pfVar17,local_4c);\n        break;\n      case rs_space:\n      case rs_space_nop:\n        if (symp == (symbolS *)0x0) goto _L687;\n        vVar14 = S_GET_VALUE(symp);\n        paVar13 = S_GET_SEGMENT(symp);\n        if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }\n        else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }\n        goto joined_r0x0003d763;\n      case rs_leb128:\n        vVar14 = resolve_symbol_value(symp);\n        uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);\n        local_38 = uVar18 - pfVar17->fr_offset;\n        pfVar17->fr_offset = uVar18;\n        break;\n      case rs_cfa:\n        local_38 = eh_frame_relax_frag(pfVar17);\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d971;\n      case rs_dwarf2dbg:\n        local_38 = dwarf2dbg_relax_frag(pfVar17);\n      }\n      local_40 = pfVar17->fr_next;\njoined_r0x0003d971:\n      if (local_38 != 0) {\n        rVar22 = pfVar17->fr_type;\nLAB_0003d73c:\n        local_4c = local_4c + local_38;\n        if (rVar22 == rs_leb128) {\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (fragS *)0x0) {\nLAB_0003d70f:\n        pfVar17 = local_40;\n        aVar21 = local_40->fr_address;\n        goto LAB_0003d598;\n      }\n      if (local_4c == 0 && (local_44 & 0x10) == 0) {\n        uVar18 = local_44 + 1;\n        uVar10 = local_44 & 0xfffffff0;\n        local_44 = 0;\n        if (uVar10 != 0) {\n          local_44 = uVar18;\n        }\n      }\n      else {\n        local_44 = 0;\n      }\n      if (!bVar7) {\n        do {\n          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }\n          segment_frag_root = segment_frag_root->fr_next;\n        } while (segment_frag_root != (frag *)0x0);\n        return local_2c;\n      }\n      local_28 = local_28 - 1;\n      if (local_28 == 0) {\n        pcVar15 = segment->name;\n        format = (char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(format,pcVar15);\n      }\n    }\n  }" if (parenthesized_expression "(segment_frag_root == (frag *)0x0)" ( (binary_expression "segment_frag_root == (frag *)0x0" identifier == (cast_expression "(frag *)0x0" ( (type_descriptor "frag *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_2c = 0;\n  }" { (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) }) (else_clause "else {\n    sVar6 = 0;\n    uVar18 = 0;\n    pfVar17 = segment_frag_root;\n    iVar12 = 0;\n    do {\n      iVar19 = iVar12;\n      pfVar17->fr_address = uVar18;\n      uVar18 = uVar18 + pfVar17->fr_fix;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe;\n      *(short *)&pfVar17->field_0x2c = sVar6;\n      rVar22 = pfVar17->fr_type;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");\n      case rs_fill:\n        poVar1 = &pfVar17->fr_offset;\n        poVar2 = &pfVar17->fr_var;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = *poVar1 * *poVar2 + uVar18;\n        break;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);\n        uVar10 = ~uVar10 + uVar18 & uVar10;\n        uVar11 = uVar10 - uVar18;\n        if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }\n      case rs_org:\n        pfVar17 = pfVar17->fr_next;\n        sVar6 = sVar6 + 1;\n        break;\n      case rs_machine_dependent:\n        if (pfVar17->fr_symbol != (symbolS *)0x0) {\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }\n        iVar12 = md_estimate_size_before_relax(pfVar17,segment);\n        uVar18 = uVar18 + iVar12;\n      case rs_space:\n      case rs_space_nop:\n        pfVar17 = pfVar17->fr_next;\n        break;\n      case rs_leb128:\n        pfVar17->fr_offset = 1;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + 1;\n        break;\n      case rs_cfa:\n        iVar12 = eh_frame_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n        break;\n      case rs_dwarf2dbg:\n        iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n      }\n      iVar12 = iVar19 + 1;\n    } while (pfVar17 != (frag *)0x0);\n    uVar18 = iVar19 + 1;\n    local_44 = 0;\n    local_2c = 0;\n    local_28 = uVar18 * uVar18;\n    if (uVar18 * uVar18 < uVar18) {\n      local_28 = uVar18;\n    }\n    paVar8 = (segT)(PTR__bfd_std_section_0007afb0 + 0x150);\n    while (segment_frag_root != (frag *)0x0) {\n      bVar7 = false;\n      local_4c = 0;\n      pfVar17 = segment_frag_root;\n      aVar21 = segment_frag_root->fr_address;\nLAB_0003d598:\n      rVar22 = pfVar17->fr_type;\n      symp = pfVar17->fr_symbol;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe | pfVar17->field_0x2e & 1 ^ 1;\n      aVar9 = local_4c + aVar21;\n      pfVar17->fr_address = aVar9;\n      local_38 = pfVar17->fr_offset;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");\n      case rs_fill:\n_L687:\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d763;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        iVar12 = aVar21 + pfVar17->fr_fix;\n        uVar18 = -1 << ((byte)local_38 & 0x1f);\n        uVar10 = iVar12 + ~uVar18 & uVar18;\n        iVar19 = aVar9 + pfVar17->fr_fix;\n        local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;\n        uVar18 = pfVar17->fr_subtype;\n        if (uVar18 == 0) {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        if (-1 < (int)local_38) break;\n        if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }\n        local_40 = pfVar17->fr_next;\n        local_4c = local_4c + local_38;\n        goto joined_r0x0003d74b;\n      case rs_org:\n        if (symp != (symbolS *)0x0) {\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }\n        local_40 = pfVar17->fr_next;\n        if (local_40 == (fragS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }\n        aVar4 = local_40->fr_address;\n        if (aVar9 + pfVar17->fr_fix <= local_38) {\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }\n        if (1 < pass) {\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        pfVar17 = local_40;\n        aVar21 = aVar4;\n        goto LAB_0003d598;\n      case rs_machine_dependent:\n        local_38 = relax_frag(segment,pfVar17,local_4c);\n        break;\n      case rs_space:\n      case rs_space_nop:\n        if (symp == (symbolS *)0x0) goto _L687;\n        vVar14 = S_GET_VALUE(symp);\n        paVar13 = S_GET_SEGMENT(symp);\n        if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }\n        else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }\n        goto joined_r0x0003d763;\n      case rs_leb128:\n        vVar14 = resolve_symbol_value(symp);\n        uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);\n        local_38 = uVar18 - pfVar17->fr_offset;\n        pfVar17->fr_offset = uVar18;\n        break;\n      case rs_cfa:\n        local_38 = eh_frame_relax_frag(pfVar17);\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d971;\n      case rs_dwarf2dbg:\n        local_38 = dwarf2dbg_relax_frag(pfVar17);\n      }\n      local_40 = pfVar17->fr_next;\njoined_r0x0003d971:\n      if (local_38 != 0) {\n        rVar22 = pfVar17->fr_type;\nLAB_0003d73c:\n        local_4c = local_4c + local_38;\n        if (rVar22 == rs_leb128) {\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (fragS *)0x0) {\nLAB_0003d70f:\n        pfVar17 = local_40;\n        aVar21 = local_40->fr_address;\n        goto LAB_0003d598;\n      }\n      if (local_4c == 0 && (local_44 & 0x10) == 0) {\n        uVar18 = local_44 + 1;\n        uVar10 = local_44 & 0xfffffff0;\n        local_44 = 0;\n        if (uVar10 != 0) {\n          local_44 = uVar18;\n        }\n      }\n      else {\n        local_44 = 0;\n      }\n      if (!bVar7) {\n        do {\n          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }\n          segment_frag_root = segment_frag_root->fr_next;\n        } while (segment_frag_root != (frag *)0x0);\n        return local_2c;\n      }\n      local_28 = local_28 - 1;\n      if (local_28 == 0) {\n        pcVar15 = segment->name;\n        format = (char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(format,pcVar15);\n      }\n    }\n  }" else (compound_statement "{\n    sVar6 = 0;\n    uVar18 = 0;\n    pfVar17 = segment_frag_root;\n    iVar12 = 0;\n    do {\n      iVar19 = iVar12;\n      pfVar17->fr_address = uVar18;\n      uVar18 = uVar18 + pfVar17->fr_fix;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe;\n      *(short *)&pfVar17->field_0x2c = sVar6;\n      rVar22 = pfVar17->fr_type;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");\n      case rs_fill:\n        poVar1 = &pfVar17->fr_offset;\n        poVar2 = &pfVar17->fr_var;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = *poVar1 * *poVar2 + uVar18;\n        break;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);\n        uVar10 = ~uVar10 + uVar18 & uVar10;\n        uVar11 = uVar10 - uVar18;\n        if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }\n      case rs_org:\n        pfVar17 = pfVar17->fr_next;\n        sVar6 = sVar6 + 1;\n        break;\n      case rs_machine_dependent:\n        if (pfVar17->fr_symbol != (symbolS *)0x0) {\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }\n        iVar12 = md_estimate_size_before_relax(pfVar17,segment);\n        uVar18 = uVar18 + iVar12;\n      case rs_space:\n      case rs_space_nop:\n        pfVar17 = pfVar17->fr_next;\n        break;\n      case rs_leb128:\n        pfVar17->fr_offset = 1;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + 1;\n        break;\n      case rs_cfa:\n        iVar12 = eh_frame_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n        break;\n      case rs_dwarf2dbg:\n        iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n      }\n      iVar12 = iVar19 + 1;\n    } while (pfVar17 != (frag *)0x0);\n    uVar18 = iVar19 + 1;\n    local_44 = 0;\n    local_2c = 0;\n    local_28 = uVar18 * uVar18;\n    if (uVar18 * uVar18 < uVar18) {\n      local_28 = uVar18;\n    }\n    paVar8 = (segT)(PTR__bfd_std_section_0007afb0 + 0x150);\n    while (segment_frag_root != (frag *)0x0) {\n      bVar7 = false;\n      local_4c = 0;\n      pfVar17 = segment_frag_root;\n      aVar21 = segment_frag_root->fr_address;\nLAB_0003d598:\n      rVar22 = pfVar17->fr_type;\n      symp = pfVar17->fr_symbol;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe | pfVar17->field_0x2e & 1 ^ 1;\n      aVar9 = local_4c + aVar21;\n      pfVar17->fr_address = aVar9;\n      local_38 = pfVar17->fr_offset;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");\n      case rs_fill:\n_L687:\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d763;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        iVar12 = aVar21 + pfVar17->fr_fix;\n        uVar18 = -1 << ((byte)local_38 & 0x1f);\n        uVar10 = iVar12 + ~uVar18 & uVar18;\n        iVar19 = aVar9 + pfVar17->fr_fix;\n        local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;\n        uVar18 = pfVar17->fr_subtype;\n        if (uVar18 == 0) {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        if (-1 < (int)local_38) break;\n        if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }\n        local_40 = pfVar17->fr_next;\n        local_4c = local_4c + local_38;\n        goto joined_r0x0003d74b;\n      case rs_org:\n        if (symp != (symbolS *)0x0) {\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }\n        local_40 = pfVar17->fr_next;\n        if (local_40 == (fragS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }\n        aVar4 = local_40->fr_address;\n        if (aVar9 + pfVar17->fr_fix <= local_38) {\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }\n        if (1 < pass) {\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        pfVar17 = local_40;\n        aVar21 = aVar4;\n        goto LAB_0003d598;\n      case rs_machine_dependent:\n        local_38 = relax_frag(segment,pfVar17,local_4c);\n        break;\n      case rs_space:\n      case rs_space_nop:\n        if (symp == (symbolS *)0x0) goto _L687;\n        vVar14 = S_GET_VALUE(symp);\n        paVar13 = S_GET_SEGMENT(symp);\n        if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }\n        else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }\n        goto joined_r0x0003d763;\n      case rs_leb128:\n        vVar14 = resolve_symbol_value(symp);\n        uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);\n        local_38 = uVar18 - pfVar17->fr_offset;\n        pfVar17->fr_offset = uVar18;\n        break;\n      case rs_cfa:\n        local_38 = eh_frame_relax_frag(pfVar17);\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d971;\n      case rs_dwarf2dbg:\n        local_38 = dwarf2dbg_relax_frag(pfVar17);\n      }\n      local_40 = pfVar17->fr_next;\njoined_r0x0003d971:\n      if (local_38 != 0) {\n        rVar22 = pfVar17->fr_type;\nLAB_0003d73c:\n        local_4c = local_4c + local_38;\n        if (rVar22 == rs_leb128) {\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (fragS *)0x0) {\nLAB_0003d70f:\n        pfVar17 = local_40;\n        aVar21 = local_40->fr_address;\n        goto LAB_0003d598;\n      }\n      if (local_4c == 0 && (local_44 & 0x10) == 0) {\n        uVar18 = local_44 + 1;\n        uVar10 = local_44 & 0xfffffff0;\n        local_44 = 0;\n        if (uVar10 != 0) {\n          local_44 = uVar18;\n        }\n      }\n      else {\n        local_44 = 0;\n      }\n      if (!bVar7) {\n        do {\n          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }\n          segment_frag_root = segment_frag_root->fr_next;\n        } while (segment_frag_root != (frag *)0x0);\n        return local_2c;\n      }\n      local_28 = local_28 - 1;\n      if (local_28 == 0) {\n        pcVar15 = segment->name;\n        format = (char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(format,pcVar15);\n      }\n    }\n  }" { (expression_statement "sVar6 = 0;" (assignment_expression "sVar6 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "pfVar17 = segment_frag_root;" (assignment_expression "pfVar17 = segment_frag_root" identifier = identifier) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar19 = iVar12;\n      pfVar17->fr_address = uVar18;\n      uVar18 = uVar18 + pfVar17->fr_fix;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe;\n      *(short *)&pfVar17->field_0x2c = sVar6;\n      rVar22 = pfVar17->fr_type;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");\n      case rs_fill:\n        poVar1 = &pfVar17->fr_offset;\n        poVar2 = &pfVar17->fr_var;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = *poVar1 * *poVar2 + uVar18;\n        break;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);\n        uVar10 = ~uVar10 + uVar18 & uVar10;\n        uVar11 = uVar10 - uVar18;\n        if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }\n      case rs_org:\n        pfVar17 = pfVar17->fr_next;\n        sVar6 = sVar6 + 1;\n        break;\n      case rs_machine_dependent:\n        if (pfVar17->fr_symbol != (symbolS *)0x0) {\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }\n        iVar12 = md_estimate_size_before_relax(pfVar17,segment);\n        uVar18 = uVar18 + iVar12;\n      case rs_space:\n      case rs_space_nop:\n        pfVar17 = pfVar17->fr_next;\n        break;\n      case rs_leb128:\n        pfVar17->fr_offset = 1;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + 1;\n        break;\n      case rs_cfa:\n        iVar12 = eh_frame_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n        break;\n      case rs_dwarf2dbg:\n        iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n      }\n      iVar12 = iVar19 + 1;\n    } while (pfVar17 != (frag *)0x0);" do (compound_statement "{\n      iVar19 = iVar12;\n      pfVar17->fr_address = uVar18;\n      uVar18 = uVar18 + pfVar17->fr_fix;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe;\n      *(short *)&pfVar17->field_0x2c = sVar6;\n      rVar22 = pfVar17->fr_type;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");\n      case rs_fill:\n        poVar1 = &pfVar17->fr_offset;\n        poVar2 = &pfVar17->fr_var;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = *poVar1 * *poVar2 + uVar18;\n        break;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);\n        uVar10 = ~uVar10 + uVar18 & uVar10;\n        uVar11 = uVar10 - uVar18;\n        if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }\n      case rs_org:\n        pfVar17 = pfVar17->fr_next;\n        sVar6 = sVar6 + 1;\n        break;\n      case rs_machine_dependent:\n        if (pfVar17->fr_symbol != (symbolS *)0x0) {\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }\n        iVar12 = md_estimate_size_before_relax(pfVar17,segment);\n        uVar18 = uVar18 + iVar12;\n      case rs_space:\n      case rs_space_nop:\n        pfVar17 = pfVar17->fr_next;\n        break;\n      case rs_leb128:\n        pfVar17->fr_offset = 1;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + 1;\n        break;\n      case rs_cfa:\n        iVar12 = eh_frame_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n        break;\n      case rs_dwarf2dbg:\n        iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n      }\n      iVar12 = iVar19 + 1;\n    }" { (expression_statement "iVar19 = iVar12;" (assignment_expression "iVar19 = iVar12" identifier = identifier) ;) (expression_statement "pfVar17->fr_address = uVar18;" (assignment_expression "pfVar17->fr_address = uVar18" (field_expression "pfVar17->fr_address" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar18 = uVar18 + pfVar17->fr_fix;" (assignment_expression "uVar18 = uVar18 + pfVar17->fr_fix" identifier = (binary_expression "uVar18 + pfVar17->fr_fix" identifier + (field_expression "pfVar17->fr_fix" identifier -> field_identifier))) ;) (expression_statement "pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe;" (assignment_expression "pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe" (field_expression "pfVar17->field_0x2e" identifier -> field_identifier) = (binary_expression "pfVar17->field_0x2e & 0xfe" (field_expression "pfVar17->field_0x2e" identifier -> field_identifier) & number_literal)) ;) (expression_statement "*(short *)&pfVar17->field_0x2c = sVar6;" (assignment_expression "*(short *)&pfVar17->field_0x2c = sVar6" (pointer_expression "*(short *)&pfVar17->field_0x2c" * (cast_expression "(short *)&pfVar17->field_0x2c" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pfVar17->field_0x2c" & (field_expression "pfVar17->field_0x2c" identifier -> field_identifier)))) = identifier) ;) (expression_statement "rVar22 = pfVar17->fr_type;" (assignment_expression "rVar22 = pfVar17->fr_type" identifier = (field_expression "pfVar17->fr_type" identifier -> field_identifier)) ;) (switch_statement "switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");\n      case rs_fill:\n        poVar1 = &pfVar17->fr_offset;\n        poVar2 = &pfVar17->fr_var;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = *poVar1 * *poVar2 + uVar18;\n        break;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);\n        uVar10 = ~uVar10 + uVar18 & uVar10;\n        uVar11 = uVar10 - uVar18;\n        if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }\n      case rs_org:\n        pfVar17 = pfVar17->fr_next;\n        sVar6 = sVar6 + 1;\n        break;\n      case rs_machine_dependent:\n        if (pfVar17->fr_symbol != (symbolS *)0x0) {\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }\n        iVar12 = md_estimate_size_before_relax(pfVar17,segment);\n        uVar18 = uVar18 + iVar12;\n      case rs_space:\n      case rs_space_nop:\n        pfVar17 = pfVar17->fr_next;\n        break;\n      case rs_leb128:\n        pfVar17->fr_offset = 1;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + 1;\n        break;\n      case rs_cfa:\n        iVar12 = eh_frame_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n        break;\n      case rs_dwarf2dbg:\n        iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n      }" switch (parenthesized_expression "(rVar22)" ( identifier )) (compound_statement "{\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");\n      case rs_fill:\n        poVar1 = &pfVar17->fr_offset;\n        poVar2 = &pfVar17->fr_var;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = *poVar1 * *poVar2 + uVar18;\n        break;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);\n        uVar10 = ~uVar10 + uVar18 & uVar10;\n        uVar11 = uVar10 - uVar18;\n        if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }\n      case rs_org:\n        pfVar17 = pfVar17->fr_next;\n        sVar6 = sVar6 + 1;\n        break;\n      case rs_machine_dependent:\n        if (pfVar17->fr_symbol != (symbolS *)0x0) {\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }\n        iVar12 = md_estimate_size_before_relax(pfVar17,segment);\n        uVar18 = uVar18 + iVar12;\n      case rs_space:\n      case rs_space_nop:\n        pfVar17 = pfVar17->fr_next;\n        break;\n      case rs_leb128:\n        pfVar17->fr_offset = 1;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + 1;\n        break;\n      case rs_cfa:\n        iVar12 = eh_frame_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n        break;\n      case rs_dwarf2dbg:\n        iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n      }" { (case_statement "default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");" default : (expression_statement "pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);" (assignment_expression "pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" ( number_literal , (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal ))))) ;) comment (expression_statement "as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c");" (call_expression "as_fatal(pcVar15,rVar22,0xaa0,"../../gas/write.c")" identifier (argument_list "(pcVar15,rVar22,0xaa0,"../../gas/write.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/write.c"" " string_content ") ))) ;)) (case_statement "case rs_fill:\n        poVar1 = &pfVar17->fr_offset;\n        poVar2 = &pfVar17->fr_var;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = *poVar1 * *poVar2 + uVar18;\n        break;" case identifier : (expression_statement "poVar1 = &pfVar17->fr_offset;" (assignment_expression "poVar1 = &pfVar17->fr_offset" identifier = (pointer_expression "&pfVar17->fr_offset" & (field_expression "pfVar17->fr_offset" identifier -> field_identifier))) ;) (expression_statement "poVar2 = &pfVar17->fr_var;" (assignment_expression "poVar2 = &pfVar17->fr_var" identifier = (pointer_expression "&pfVar17->fr_var" & (field_expression "pfVar17->fr_var" identifier -> field_identifier))) ;) (expression_statement "pfVar17 = pfVar17->fr_next;" (assignment_expression "pfVar17 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (expression_statement "uVar18 = *poVar1 * *poVar2 + uVar18;" (assignment_expression "uVar18 = *poVar1 * *poVar2 + uVar18" identifier = (binary_expression "*poVar1 * *poVar2 + uVar18" (binary_expression "*poVar1 * *poVar2" (pointer_expression "*poVar1" * identifier) * (pointer_expression "*poVar2" * identifier)) + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case rs_align:" case identifier :) (case_statement "case rs_align_code:" case identifier :) (case_statement "case rs_align_test:\n        uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);\n        uVar10 = ~uVar10 + uVar18 & uVar10;\n        uVar11 = uVar10 - uVar18;\n        if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }" case identifier : (expression_statement "uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f);" (assignment_expression "uVar10 = -1 << ((byte)pfVar17->fr_offset & 0x1f)" identifier = (binary_expression "-1 << ((byte)pfVar17->fr_offset & 0x1f)" number_literal << (parenthesized_expression "((byte)pfVar17->fr_offset & 0x1f)" ( (binary_expression "(byte)pfVar17->fr_offset & 0x1f" (cast_expression "(byte)pfVar17->fr_offset" ( (type_descriptor "byte" type_identifier) ) (field_expression "pfVar17->fr_offset" identifier -> field_identifier)) & number_literal) )))) ;) (expression_statement "uVar10 = ~uVar10 + uVar18 & uVar10;" (assignment_expression "uVar10 = ~uVar10 + uVar18 & uVar10" identifier = (binary_expression "~uVar10 + uVar18 & uVar10" (binary_expression "~uVar10 + uVar18" (unary_expression "~uVar10" ~ identifier) + identifier) & identifier)) ;) (expression_statement "uVar11 = uVar10 - uVar18;" (assignment_expression "uVar11 = uVar10 - uVar18" identifier = (binary_expression "uVar10 - uVar18" identifier - identifier)) ;) (if_statement "if (((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)) {\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }" if (parenthesized_expression "(((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0))" ( (binary_expression "((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)) &&\n           (uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)" (parenthesized_expression "((pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype))" ( (binary_expression "(pfVar17->fr_subtype == 0) || (uVar11 <= pfVar17->fr_subtype)" (parenthesized_expression "(pfVar17->fr_subtype == 0)" ( (binary_expression "pfVar17->fr_subtype == 0" (field_expression "pfVar17->fr_subtype" identifier -> field_identifier) == number_literal) )) || (parenthesized_expression "(uVar11 <= pfVar17->fr_subtype)" ( (binary_expression "uVar11 <= pfVar17->fr_subtype" identifier <= (field_expression "pfVar17->fr_subtype" identifier -> field_identifier)) ))) )) && (parenthesized_expression "(uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0)" ( (comma_expression "uVar3 = pfVar17->fr_var, uVar18 = uVar10, uVar11 % uVar3 != 0" (assignment_expression "uVar3 = pfVar17->fr_var" identifier = (field_expression "pfVar17->fr_var" identifier -> field_identifier)) , (comma_expression "uVar18 = uVar10, uVar11 % uVar3 != 0" (assignment_expression "uVar18 = uVar10" identifier = identifier) , (binary_expression "uVar11 % uVar3 != 0" (binary_expression "uVar11 % uVar3" identifier % identifier) != number_literal))) ))) )) (compound_statement "{\n          pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);\n          uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;\n        }" { (expression_statement "pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5);" (assignment_expression "pcVar15 = (char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5)" identifier = (cast_expression "(char *)dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5)" identifier (argument_list "(0,"alignment padding (%lu byte) not a multiple of %ld",\n                                       "alignment padding (%lu bytes) not a multiple of %ld",uVar11,\n                                       5)" ( number_literal , (string_literal ""alignment padding (%lu byte) not a multiple of %ld"" " string_content ") , (string_literal ""alignment padding (%lu bytes) not a multiple of %ld"" " string_content ") , identifier , number_literal ))))) ;) (expression_statement "as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3);" (call_expression "as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3)" identifier (argument_list "(pfVar17->fr_file,pfVar17->fr_line,pcVar15,uVar11,uVar3)" ( (field_expression "pfVar17->fr_file" identifier -> field_identifier) , (field_expression "pfVar17->fr_line" identifier -> field_identifier) , identifier , identifier , identifier ))) ;) (expression_statement "uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var;" (assignment_expression "uVar18 = uVar10 - uVar11 % (uint)pfVar17->fr_var" identifier = (binary_expression "uVar10 - uVar11 % (uint)pfVar17->fr_var" identifier - (binary_expression "uVar11 % (uint)pfVar17->fr_var" identifier % (cast_expression "(uint)pfVar17->fr_var" ( (type_descriptor "uint" type_identifier) ) (field_expression "pfVar17->fr_var" identifier -> field_identifier))))) ;) }))) (case_statement "case rs_org:\n        pfVar17 = pfVar17->fr_next;\n        sVar6 = sVar6 + 1;\n        break;" case identifier : (expression_statement "pfVar17 = pfVar17->fr_next;" (assignment_expression "pfVar17 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" identifier = (binary_expression "sVar6 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case rs_machine_dependent:\n        if (pfVar17->fr_symbol != (symbolS *)0x0) {\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }\n        iVar12 = md_estimate_size_before_relax(pfVar17,segment);\n        uVar18 = uVar18 + iVar12;" case identifier : (if_statement "if (pfVar17->fr_symbol != (symbolS *)0x0) {\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }" if (parenthesized_expression "(pfVar17->fr_symbol != (symbolS *)0x0)" ( (binary_expression "pfVar17->fr_symbol != (symbolS *)0x0" (field_expression "pfVar17->fr_symbol" identifier -> field_identifier) != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          resolve_symbol_value(pfVar17->fr_symbol);\n        }" { (expression_statement "resolve_symbol_value(pfVar17->fr_symbol);" (call_expression "resolve_symbol_value(pfVar17->fr_symbol)" identifier (argument_list "(pfVar17->fr_symbol)" ( (field_expression "pfVar17->fr_symbol" identifier -> field_identifier) ))) ;) })) (expression_statement "iVar12 = md_estimate_size_before_relax(pfVar17,segment);" (assignment_expression "iVar12 = md_estimate_size_before_relax(pfVar17,segment)" identifier = (call_expression "md_estimate_size_before_relax(pfVar17,segment)" identifier (argument_list "(pfVar17,segment)" ( identifier , identifier )))) ;) (expression_statement "uVar18 = uVar18 + iVar12;" (assignment_expression "uVar18 = uVar18 + iVar12" identifier = (binary_expression "uVar18 + iVar12" identifier + identifier)) ;)) (case_statement "case rs_space:" case identifier :) (case_statement "case rs_space_nop:\n        pfVar17 = pfVar17->fr_next;\n        break;" case identifier : (expression_statement "pfVar17 = pfVar17->fr_next;" (assignment_expression "pfVar17 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (break_statement "break;" break ;)) (case_statement "case rs_leb128:\n        pfVar17->fr_offset = 1;\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + 1;\n        break;" case identifier : (expression_statement "pfVar17->fr_offset = 1;" (assignment_expression "pfVar17->fr_offset = 1" (field_expression "pfVar17->fr_offset" identifier -> field_identifier) = number_literal) ;) (expression_statement "pfVar17 = pfVar17->fr_next;" (assignment_expression "pfVar17 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case rs_cfa:\n        iVar12 = eh_frame_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;\n        break;" case identifier : (expression_statement "iVar12 = eh_frame_estimate_size_before_relax(pfVar17);" (assignment_expression "iVar12 = eh_frame_estimate_size_before_relax(pfVar17)" identifier = (call_expression "eh_frame_estimate_size_before_relax(pfVar17)" identifier (argument_list "(pfVar17)" ( identifier )))) ;) (expression_statement "pfVar17 = pfVar17->fr_next;" (assignment_expression "pfVar17 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (expression_statement "uVar18 = uVar18 + iVar12;" (assignment_expression "uVar18 = uVar18 + iVar12" identifier = (binary_expression "uVar18 + iVar12" identifier + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case rs_dwarf2dbg:\n        iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);\n        pfVar17 = pfVar17->fr_next;\n        uVar18 = uVar18 + iVar12;" case identifier : (expression_statement "iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17);" (assignment_expression "iVar12 = dwarf2dbg_estimate_size_before_relax(pfVar17)" identifier = (call_expression "dwarf2dbg_estimate_size_before_relax(pfVar17)" identifier (argument_list "(pfVar17)" ( identifier )))) ;) (expression_statement "pfVar17 = pfVar17->fr_next;" (assignment_expression "pfVar17 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (expression_statement "uVar18 = uVar18 + iVar12;" (assignment_expression "uVar18 = uVar18 + iVar12" identifier = (binary_expression "uVar18 + iVar12" identifier + identifier)) ;)) })) (expression_statement "iVar12 = iVar19 + 1;" (assignment_expression "iVar12 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar17 != (frag *)0x0)" ( (binary_expression "pfVar17 != (frag *)0x0" identifier != (cast_expression "(frag *)0x0" ( (type_descriptor "frag *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "uVar18 = iVar19 + 1;" (assignment_expression "uVar18 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "local_28 = uVar18 * uVar18;" (assignment_expression "local_28 = uVar18 * uVar18" identifier = (binary_expression "uVar18 * uVar18" identifier * identifier)) ;) (if_statement "if (uVar18 * uVar18 < uVar18) {\n      local_28 = uVar18;\n    }" if (parenthesized_expression "(uVar18 * uVar18 < uVar18)" ( (binary_expression "uVar18 * uVar18 < uVar18" (binary_expression "uVar18 * uVar18" identifier * identifier) < identifier) )) (compound_statement "{\n      local_28 = uVar18;\n    }" { (expression_statement "local_28 = uVar18;" (assignment_expression "local_28 = uVar18" identifier = identifier) ;) })) (expression_statement "paVar8 = (segT)(PTR__bfd_std_section_0007afb0 + 0x150);" (assignment_expression "paVar8 = (segT)(PTR__bfd_std_section_0007afb0 + 0x150)" identifier = (call_expression "(segT)(PTR__bfd_std_section_0007afb0 + 0x150)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007afb0 + 0x150)" ( (binary_expression "PTR__bfd_std_section_0007afb0 + 0x150" identifier + number_literal) )))) ;) (while_statement "while (segment_frag_root != (frag *)0x0) {\n      bVar7 = false;\n      local_4c = 0;\n      pfVar17 = segment_frag_root;\n      aVar21 = segment_frag_root->fr_address;\nLAB_0003d598:\n      rVar22 = pfVar17->fr_type;\n      symp = pfVar17->fr_symbol;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe | pfVar17->field_0x2e & 1 ^ 1;\n      aVar9 = local_4c + aVar21;\n      pfVar17->fr_address = aVar9;\n      local_38 = pfVar17->fr_offset;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");\n      case rs_fill:\n_L687:\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d763;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        iVar12 = aVar21 + pfVar17->fr_fix;\n        uVar18 = -1 << ((byte)local_38 & 0x1f);\n        uVar10 = iVar12 + ~uVar18 & uVar18;\n        iVar19 = aVar9 + pfVar17->fr_fix;\n        local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;\n        uVar18 = pfVar17->fr_subtype;\n        if (uVar18 == 0) {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        if (-1 < (int)local_38) break;\n        if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }\n        local_40 = pfVar17->fr_next;\n        local_4c = local_4c + local_38;\n        goto joined_r0x0003d74b;\n      case rs_org:\n        if (symp != (symbolS *)0x0) {\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }\n        local_40 = pfVar17->fr_next;\n        if (local_40 == (fragS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }\n        aVar4 = local_40->fr_address;\n        if (aVar9 + pfVar17->fr_fix <= local_38) {\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }\n        if (1 < pass) {\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        pfVar17 = local_40;\n        aVar21 = aVar4;\n        goto LAB_0003d598;\n      case rs_machine_dependent:\n        local_38 = relax_frag(segment,pfVar17,local_4c);\n        break;\n      case rs_space:\n      case rs_space_nop:\n        if (symp == (symbolS *)0x0) goto _L687;\n        vVar14 = S_GET_VALUE(symp);\n        paVar13 = S_GET_SEGMENT(symp);\n        if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }\n        else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }\n        goto joined_r0x0003d763;\n      case rs_leb128:\n        vVar14 = resolve_symbol_value(symp);\n        uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);\n        local_38 = uVar18 - pfVar17->fr_offset;\n        pfVar17->fr_offset = uVar18;\n        break;\n      case rs_cfa:\n        local_38 = eh_frame_relax_frag(pfVar17);\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d971;\n      case rs_dwarf2dbg:\n        local_38 = dwarf2dbg_relax_frag(pfVar17);\n      }\n      local_40 = pfVar17->fr_next;\njoined_r0x0003d971:\n      if (local_38 != 0) {\n        rVar22 = pfVar17->fr_type;\nLAB_0003d73c:\n        local_4c = local_4c + local_38;\n        if (rVar22 == rs_leb128) {\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (fragS *)0x0) {\nLAB_0003d70f:\n        pfVar17 = local_40;\n        aVar21 = local_40->fr_address;\n        goto LAB_0003d598;\n      }\n      if (local_4c == 0 && (local_44 & 0x10) == 0) {\n        uVar18 = local_44 + 1;\n        uVar10 = local_44 & 0xfffffff0;\n        local_44 = 0;\n        if (uVar10 != 0) {\n          local_44 = uVar18;\n        }\n      }\n      else {\n        local_44 = 0;\n      }\n      if (!bVar7) {\n        do {\n          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }\n          segment_frag_root = segment_frag_root->fr_next;\n        } while (segment_frag_root != (frag *)0x0);\n        return local_2c;\n      }\n      local_28 = local_28 - 1;\n      if (local_28 == 0) {\n        pcVar15 = segment->name;\n        format = (char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(format,pcVar15);\n      }\n    }" while (parenthesized_expression "(segment_frag_root != (frag *)0x0)" ( (binary_expression "segment_frag_root != (frag *)0x0" identifier != (cast_expression "(frag *)0x0" ( (type_descriptor "frag *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar7 = false;\n      local_4c = 0;\n      pfVar17 = segment_frag_root;\n      aVar21 = segment_frag_root->fr_address;\nLAB_0003d598:\n      rVar22 = pfVar17->fr_type;\n      symp = pfVar17->fr_symbol;\n      pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe | pfVar17->field_0x2e & 1 ^ 1;\n      aVar9 = local_4c + aVar21;\n      pfVar17->fr_address = aVar9;\n      local_38 = pfVar17->fr_offset;\n      switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");\n      case rs_fill:\n_L687:\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d763;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        iVar12 = aVar21 + pfVar17->fr_fix;\n        uVar18 = -1 << ((byte)local_38 & 0x1f);\n        uVar10 = iVar12 + ~uVar18 & uVar18;\n        iVar19 = aVar9 + pfVar17->fr_fix;\n        local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;\n        uVar18 = pfVar17->fr_subtype;\n        if (uVar18 == 0) {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        if (-1 < (int)local_38) break;\n        if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }\n        local_40 = pfVar17->fr_next;\n        local_4c = local_4c + local_38;\n        goto joined_r0x0003d74b;\n      case rs_org:\n        if (symp != (symbolS *)0x0) {\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }\n        local_40 = pfVar17->fr_next;\n        if (local_40 == (fragS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }\n        aVar4 = local_40->fr_address;\n        if (aVar9 + pfVar17->fr_fix <= local_38) {\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }\n        if (1 < pass) {\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        pfVar17 = local_40;\n        aVar21 = aVar4;\n        goto LAB_0003d598;\n      case rs_machine_dependent:\n        local_38 = relax_frag(segment,pfVar17,local_4c);\n        break;\n      case rs_space:\n      case rs_space_nop:\n        if (symp == (symbolS *)0x0) goto _L687;\n        vVar14 = S_GET_VALUE(symp);\n        paVar13 = S_GET_SEGMENT(symp);\n        if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }\n        else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }\n        goto joined_r0x0003d763;\n      case rs_leb128:\n        vVar14 = resolve_symbol_value(symp);\n        uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);\n        local_38 = uVar18 - pfVar17->fr_offset;\n        pfVar17->fr_offset = uVar18;\n        break;\n      case rs_cfa:\n        local_38 = eh_frame_relax_frag(pfVar17);\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d971;\n      case rs_dwarf2dbg:\n        local_38 = dwarf2dbg_relax_frag(pfVar17);\n      }\n      local_40 = pfVar17->fr_next;\njoined_r0x0003d971:\n      if (local_38 != 0) {\n        rVar22 = pfVar17->fr_type;\nLAB_0003d73c:\n        local_4c = local_4c + local_38;\n        if (rVar22 == rs_leb128) {\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (fragS *)0x0) {\nLAB_0003d70f:\n        pfVar17 = local_40;\n        aVar21 = local_40->fr_address;\n        goto LAB_0003d598;\n      }\n      if (local_4c == 0 && (local_44 & 0x10) == 0) {\n        uVar18 = local_44 + 1;\n        uVar10 = local_44 & 0xfffffff0;\n        local_44 = 0;\n        if (uVar10 != 0) {\n          local_44 = uVar18;\n        }\n      }\n      else {\n        local_44 = 0;\n      }\n      if (!bVar7) {\n        do {\n          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }\n          segment_frag_root = segment_frag_root->fr_next;\n        } while (segment_frag_root != (frag *)0x0);\n        return local_2c;\n      }\n      local_28 = local_28 - 1;\n      if (local_28 == 0) {\n        pcVar15 = segment->name;\n        format = (char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(format,pcVar15);\n      }\n    }" { (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "pfVar17 = segment_frag_root;" (assignment_expression "pfVar17 = segment_frag_root" identifier = identifier) ;) (expression_statement "aVar21 = segment_frag_root->fr_address;" (assignment_expression "aVar21 = segment_frag_root->fr_address" identifier = (field_expression "segment_frag_root->fr_address" identifier -> field_identifier)) ;) (labeled_statement "LAB_0003d598:\n      rVar22 = pfVar17->fr_type;" statement_identifier : (expression_statement "rVar22 = pfVar17->fr_type;" (assignment_expression "rVar22 = pfVar17->fr_type" identifier = (field_expression "pfVar17->fr_type" identifier -> field_identifier)) ;)) (expression_statement "symp = pfVar17->fr_symbol;" (assignment_expression "symp = pfVar17->fr_symbol" identifier = (field_expression "pfVar17->fr_symbol" identifier -> field_identifier)) ;) (expression_statement "pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe | pfVar17->field_0x2e & 1 ^ 1;" (assignment_expression "pfVar17->field_0x2e = pfVar17->field_0x2e & 0xfe | pfVar17->field_0x2e & 1 ^ 1" (field_expression "pfVar17->field_0x2e" identifier -> field_identifier) = (binary_expression "pfVar17->field_0x2e & 0xfe | pfVar17->field_0x2e & 1 ^ 1" (binary_expression "pfVar17->field_0x2e & 0xfe" (field_expression "pfVar17->field_0x2e" identifier -> field_identifier) & number_literal) | (binary_expression "pfVar17->field_0x2e & 1 ^ 1" (binary_expression "pfVar17->field_0x2e & 1" (field_expression "pfVar17->field_0x2e" identifier -> field_identifier) & number_literal) ^ number_literal))) ;) (expression_statement "aVar9 = local_4c + aVar21;" (assignment_expression "aVar9 = local_4c + aVar21" identifier = (binary_expression "local_4c + aVar21" identifier + identifier)) ;) (expression_statement "pfVar17->fr_address = aVar9;" (assignment_expression "pfVar17->fr_address = aVar9" (field_expression "pfVar17->fr_address" identifier -> field_identifier) = identifier) ;) (expression_statement "local_38 = pfVar17->fr_offset;" (assignment_expression "local_38 = pfVar17->fr_offset" identifier = (field_expression "pfVar17->fr_offset" identifier -> field_identifier)) ;) (switch_statement "switch(rVar22) {\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");\n      case rs_fill:\n_L687:\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d763;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        iVar12 = aVar21 + pfVar17->fr_fix;\n        uVar18 = -1 << ((byte)local_38 & 0x1f);\n        uVar10 = iVar12 + ~uVar18 & uVar18;\n        iVar19 = aVar9 + pfVar17->fr_fix;\n        local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;\n        uVar18 = pfVar17->fr_subtype;\n        if (uVar18 == 0) {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        if (-1 < (int)local_38) break;\n        if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }\n        local_40 = pfVar17->fr_next;\n        local_4c = local_4c + local_38;\n        goto joined_r0x0003d74b;\n      case rs_org:\n        if (symp != (symbolS *)0x0) {\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }\n        local_40 = pfVar17->fr_next;\n        if (local_40 == (fragS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }\n        aVar4 = local_40->fr_address;\n        if (aVar9 + pfVar17->fr_fix <= local_38) {\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }\n        if (1 < pass) {\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        pfVar17 = local_40;\n        aVar21 = aVar4;\n        goto LAB_0003d598;\n      case rs_machine_dependent:\n        local_38 = relax_frag(segment,pfVar17,local_4c);\n        break;\n      case rs_space:\n      case rs_space_nop:\n        if (symp == (symbolS *)0x0) goto _L687;\n        vVar14 = S_GET_VALUE(symp);\n        paVar13 = S_GET_SEGMENT(symp);\n        if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }\n        else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }\n        goto joined_r0x0003d763;\n      case rs_leb128:\n        vVar14 = resolve_symbol_value(symp);\n        uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);\n        local_38 = uVar18 - pfVar17->fr_offset;\n        pfVar17->fr_offset = uVar18;\n        break;\n      case rs_cfa:\n        local_38 = eh_frame_relax_frag(pfVar17);\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d971;\n      case rs_dwarf2dbg:\n        local_38 = dwarf2dbg_relax_frag(pfVar17);\n      }" switch (parenthesized_expression "(rVar22)" ( identifier )) (compound_statement "{\n      default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");\n      case rs_fill:\n_L687:\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d763;\n      case rs_align:\n      case rs_align_code:\n      case rs_align_test:\n        iVar12 = aVar21 + pfVar17->fr_fix;\n        uVar18 = -1 << ((byte)local_38 & 0x1f);\n        uVar10 = iVar12 + ~uVar18 & uVar18;\n        iVar19 = aVar9 + pfVar17->fr_fix;\n        local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;\n        uVar18 = pfVar17->fr_subtype;\n        if (uVar18 == 0) {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        if (-1 < (int)local_38) break;\n        if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }\n        local_40 = pfVar17->fr_next;\n        local_4c = local_4c + local_38;\n        goto joined_r0x0003d74b;\n      case rs_org:\n        if (symp != (symbolS *)0x0) {\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }\n        local_40 = pfVar17->fr_next;\n        if (local_40 == (fragS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }\n        aVar4 = local_40->fr_address;\n        if (aVar9 + pfVar17->fr_fix <= local_38) {\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }\n        if (1 < pass) {\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        pfVar17 = local_40;\n        aVar21 = aVar4;\n        goto LAB_0003d598;\n      case rs_machine_dependent:\n        local_38 = relax_frag(segment,pfVar17,local_4c);\n        break;\n      case rs_space:\n      case rs_space_nop:\n        if (symp == (symbolS *)0x0) goto _L687;\n        vVar14 = S_GET_VALUE(symp);\n        paVar13 = S_GET_SEGMENT(symp);\n        if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }\n        else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }\n        goto joined_r0x0003d763;\n      case rs_leb128:\n        vVar14 = resolve_symbol_value(symp);\n        uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);\n        local_38 = uVar18 - pfVar17->fr_offset;\n        pfVar17->fr_offset = uVar18;\n        break;\n      case rs_cfa:\n        local_38 = eh_frame_relax_frag(pfVar17);\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d971;\n      case rs_dwarf2dbg:\n        local_38 = dwarf2dbg_relax_frag(pfVar17);\n      }" { (case_statement "default:\n        pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");" default : (expression_statement "pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);" (assignment_expression "pcVar15 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" ( number_literal , (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal ))))) ;) comment (expression_statement "as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c");" (call_expression "as_fatal(pcVar15,rVar22,0xbf4,"../../gas/write.c")" identifier (argument_list "(pcVar15,rVar22,0xbf4,"../../gas/write.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/write.c"" " string_content ") ))) ;)) (case_statement "case rs_fill:\n_L687:\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d763;" case identifier : (labeled_statement "_L687:\n        local_40 = pfVar17->fr_next;" statement_identifier : (expression_statement "local_40 = pfVar17->fr_next;" (assignment_expression "local_40 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;)) (goto_statement "goto joined_r0x0003d763;" goto statement_identifier ;)) (case_statement "case rs_align:" case identifier :) (case_statement "case rs_align_code:" case identifier :) (case_statement "case rs_align_test:\n        iVar12 = aVar21 + pfVar17->fr_fix;\n        uVar18 = -1 << ((byte)local_38 & 0x1f);\n        uVar10 = iVar12 + ~uVar18 & uVar18;\n        iVar19 = aVar9 + pfVar17->fr_fix;\n        local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;\n        uVar18 = pfVar17->fr_subtype;\n        if (uVar18 == 0) {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        if (-1 < (int)local_38) break;\n        if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }\n        local_40 = pfVar17->fr_next;\n        local_4c = local_4c + local_38;\n        goto joined_r0x0003d74b;" case identifier : (expression_statement "iVar12 = aVar21 + pfVar17->fr_fix;" (assignment_expression "iVar12 = aVar21 + pfVar17->fr_fix" identifier = (binary_expression "aVar21 + pfVar17->fr_fix" identifier + (field_expression "pfVar17->fr_fix" identifier -> field_identifier))) ;) (expression_statement "uVar18 = -1 << ((byte)local_38 & 0x1f);" (assignment_expression "uVar18 = -1 << ((byte)local_38 & 0x1f)" identifier = (binary_expression "-1 << ((byte)local_38 & 0x1f)" number_literal << (parenthesized_expression "((byte)local_38 & 0x1f)" ( (binary_expression "(byte)local_38 & 0x1f" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar10 = iVar12 + ~uVar18 & uVar18;" (assignment_expression "uVar10 = iVar12 + ~uVar18 & uVar18" identifier = (binary_expression "iVar12 + ~uVar18 & uVar18" (binary_expression "iVar12 + ~uVar18" identifier + (unary_expression "~uVar18" ~ identifier)) & identifier)) ;) (expression_statement "iVar19 = aVar9 + pfVar17->fr_fix;" (assignment_expression "iVar19 = aVar9 + pfVar17->fr_fix" identifier = (binary_expression "aVar9 + pfVar17->fr_fix" identifier + (field_expression "pfVar17->fr_fix" identifier -> field_identifier))) ;) (expression_statement "local_34 = (~uVar18 + iVar19 & uVar18) - iVar19;" (assignment_expression "local_34 = (~uVar18 + iVar19 & uVar18) - iVar19" identifier = (binary_expression "(~uVar18 + iVar19 & uVar18) - iVar19" (parenthesized_expression "(~uVar18 + iVar19 & uVar18)" ( (binary_expression "~uVar18 + iVar19 & uVar18" (binary_expression "~uVar18 + iVar19" (unary_expression "~uVar18" ~ identifier) + identifier) & identifier) )) - identifier)) ;) (expression_statement "uVar18 = pfVar17->fr_subtype;" (assignment_expression "uVar18 = pfVar17->fr_subtype" identifier = (field_expression "pfVar17->fr_subtype" identifier -> field_identifier)) ;) (if_statement "if (uVar18 == 0) {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }\n        else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n          local_38 = (iVar12 - uVar10) + local_34;\n        }" { (expression_statement "local_38 = (iVar12 - uVar10) + local_34;" (assignment_expression "local_38 = (iVar12 - uVar10) + local_34" identifier = (binary_expression "(iVar12 - uVar10) + local_34" (parenthesized_expression "(iVar12 - uVar10)" ( (binary_expression "iVar12 - uVar10" identifier - identifier) )) + identifier)) ;) }) (else_clause "else if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }" else (if_statement "if (uVar18 < uVar10 - iVar12) {\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }\n        else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }" if (parenthesized_expression "(uVar18 < uVar10 - iVar12)" ( (binary_expression "uVar18 < uVar10 - iVar12" identifier < (binary_expression "uVar10 - iVar12" identifier - identifier)) )) (compound_statement "{\n          local_38 = local_34;\n          if (uVar18 < local_34) goto _L687;\n        }" { (expression_statement "local_38 = local_34;" (assignment_expression "local_38 = local_34" identifier = identifier) ;) (if_statement "if (uVar18 < local_34) goto _L687;" if (parenthesized_expression "(uVar18 < local_34)" ( (binary_expression "uVar18 < local_34" identifier < identifier) )) (goto_statement "goto _L687;" goto statement_identifier ;)) }) (else_clause "else if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }" else (if_statement "if (uVar18 < local_34) {\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }\n        else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }" if (parenthesized_expression "(uVar18 < local_34)" ( (binary_expression "uVar18 < local_34" identifier < identifier) )) (compound_statement "{\n          local_34 = 0;\n          local_38 = iVar12 - uVar10;\n        }" { (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_38 = iVar12 - uVar10;" (assignment_expression "local_38 = iVar12 - uVar10" identifier = (binary_expression "iVar12 - uVar10" identifier - identifier)) ;) }) (else_clause "else {\n          local_38 = (iVar12 - uVar10) + local_34;\n        }" else (compound_statement "{\n          local_38 = (iVar12 - uVar10) + local_34;\n        }" { (expression_statement "local_38 = (iVar12 - uVar10) + local_34;" (assignment_expression "local_38 = (iVar12 - uVar10) + local_34" identifier = (binary_expression "(iVar12 - uVar10) + local_34" (parenthesized_expression "(iVar12 - uVar10)" ( (binary_expression "iVar12 - uVar10" identifier - identifier) )) + identifier)) ;) }))))))) (if_statement "if (-1 < (int)local_38) break;" if (parenthesized_expression "(-1 < (int)local_38)" ( (binary_expression "-1 < (int)local_38" number_literal < (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (if_statement "if (((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)) {\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }" if (parenthesized_expression "(((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0))" ( (binary_expression "((local_44 & 0x10) != 0) && ((local_44 & 0xe) != 0)" (parenthesized_expression "((local_44 & 0x10) != 0)" ( (binary_expression "(local_44 & 0x10) != 0" (parenthesized_expression "(local_44 & 0x10)" ( (binary_expression "local_44 & 0x10" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((local_44 & 0xe) != 0)" ( (binary_expression "(local_44 & 0xe) != 0" (parenthesized_expression "(local_44 & 0xe)" ( (binary_expression "local_44 & 0xe" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Load size is inaccurate */\n          iVar12 = *segment->userdata;\n          local_40 = frag_alloc((obstack *)(iVar12 + 0x18));\n          iVar19 = pfVar17->fr_var;\n          iVar16 = *(int *)(iVar12 + 0x24) + iVar19;\n          *(int *)(iVar12 + 0x24) = iVar16;\n          if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }\n          uVar18 = *(uint *)(iVar12 + 0x28);\n          uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);\n          *(uint *)(iVar12 + 0x24) = uVar10;\n          if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }\n          *(uint *)(iVar12 + 0x20) = uVar10;\n          local_40->fr_address = pfVar17->fr_address;\n          puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);\n          (local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;\n          iVar12 = (int)local_40 - (int)puVar23;\n          puVar20 = (undefined4 *)((int)pfVar17 - iVar12);\n          for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }\n          memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);\n          aVar21 = aVar9 + pfVar17->fr_fix + local_34;\n          oVar5 = pfVar17->fr_offset;\n          local_40->fr_type = rs_fill;\n          local_40->fr_address = aVar21;\n          local_40->fr_fix = 0;\n          iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;\n          local_40->fr_offset = iVar12;\n          iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);\n          if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }\n          local_38 = local_38 + iVar16;\n          local_40->fr_address = aVar21 - (local_38 + local_4c);\n          local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;\n          pfVar17->fr_next = local_40;\n          goto LAB_0003da0f;\n        }" { comment (expression_statement "iVar12 = *segment->userdata;" (assignment_expression "iVar12 = *segment->userdata" identifier = (pointer_expression "*segment->userdata" * (field_expression "segment->userdata" identifier -> field_identifier))) ;) (expression_statement "local_40 = frag_alloc((obstack *)(iVar12 + 0x18));" (assignment_expression "local_40 = frag_alloc((obstack *)(iVar12 + 0x18))" identifier = (call_expression "frag_alloc((obstack *)(iVar12 + 0x18))" identifier (argument_list "((obstack *)(iVar12 + 0x18))" ( (cast_expression "(obstack *)(iVar12 + 0x18)" ( (type_descriptor "obstack *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x18)" ( (binary_expression "iVar12 + 0x18" identifier + number_literal) ))) )))) ;) (expression_statement "iVar19 = pfVar17->fr_var;" (assignment_expression "iVar19 = pfVar17->fr_var" identifier = (field_expression "pfVar17->fr_var" identifier -> field_identifier)) ;) (expression_statement "iVar16 = *(int *)(iVar12 + 0x24) + iVar19;" (assignment_expression "iVar16 = *(int *)(iVar12 + 0x24) + iVar19" identifier = (binary_expression "*(int *)(iVar12 + 0x24) + iVar19" (pointer_expression "*(int *)(iVar12 + 0x24)" * (cast_expression "(int *)(iVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) )))) + identifier)) ;) (expression_statement "*(int *)(iVar12 + 0x24) = iVar16;" (assignment_expression "*(int *)(iVar12 + 0x24) = iVar16" (pointer_expression "*(int *)(iVar12 + 0x24)" * (cast_expression "(int *)(iVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar16 == *(int *)(iVar12 + 0x20)) {\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }" if (parenthesized_expression "(iVar16 == *(int *)(iVar12 + 0x20))" ( (binary_expression "iVar16 == *(int *)(iVar12 + 0x20)" identifier == (pointer_expression "*(int *)(iVar12 + 0x20)" * (cast_expression "(int *)(iVar12 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) )) (compound_statement "{\n            *(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;\n          }" { (expression_statement "*(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2;" (assignment_expression "*(byte *)(iVar12 + 0x40) = *(byte *)(iVar12 + 0x40) | 2" (pointer_expression "*(byte *)(iVar12 + 0x40)" * (cast_expression "(byte *)(iVar12 + 0x40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x40)" ( (binary_expression "iVar12 + 0x40" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar12 + 0x40) | 2" (pointer_expression "*(byte *)(iVar12 + 0x40)" * (cast_expression "(byte *)(iVar12 + 0x40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x40)" ( (binary_expression "iVar12 + 0x40" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "uVar18 = *(uint *)(iVar12 + 0x28);" (assignment_expression "uVar18 = *(uint *)(iVar12 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar12 + 0x28)" * (cast_expression "(uint *)(iVar12 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x28)" ( (binary_expression "iVar12 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30);" (assignment_expression "uVar10 = iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30)" identifier = (binary_expression "iVar16 + *(uint *)(iVar12 + 0x30) & ~*(uint *)(iVar12 + 0x30)" (binary_expression "iVar16 + *(uint *)(iVar12 + 0x30)" identifier + (pointer_expression "*(uint *)(iVar12 + 0x30)" * (cast_expression "(uint *)(iVar12 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x30)" ( (binary_expression "iVar12 + 0x30" identifier + number_literal) ))))) & (unary_expression "~*(uint *)(iVar12 + 0x30)" ~ (pointer_expression "*(uint *)(iVar12 + 0x30)" * (cast_expression "(uint *)(iVar12 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x30)" ( (binary_expression "iVar12 + 0x30" identifier + number_literal) ))))))) ;) (expression_statement "*(uint *)(iVar12 + 0x24) = uVar10;" (assignment_expression "*(uint *)(iVar12 + 0x24) = uVar10" (pointer_expression "*(uint *)(iVar12 + 0x24)" * (cast_expression "(uint *)(iVar12 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) )))) = identifier) ;) (if_statement "if (uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)) {\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }" if (parenthesized_expression "(uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c))" ( (binary_expression "uVar18 - *(int *)(iVar12 + 0x1c) < uVar10 - *(int *)(iVar12 + 0x1c)" (binary_expression "uVar18 - *(int *)(iVar12 + 0x1c)" identifier - (pointer_expression "*(int *)(iVar12 + 0x1c)" * (cast_expression "(int *)(iVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c)" ( (binary_expression "iVar12 + 0x1c" identifier + number_literal) ))))) < (binary_expression "uVar10 - *(int *)(iVar12 + 0x1c)" identifier - (pointer_expression "*(int *)(iVar12 + 0x1c)" * (cast_expression "(int *)(iVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c)" ( (binary_expression "iVar12 + 0x1c" identifier + number_literal) )))))) )) (compound_statement "{\n            *(uint *)(iVar12 + 0x24) = uVar18;\n            uVar10 = uVar18;\n          }" { (expression_statement "*(uint *)(iVar12 + 0x24) = uVar18;" (assignment_expression "*(uint *)(iVar12 + 0x24) = uVar18" (pointer_expression "*(uint *)(iVar12 + 0x24)" * (cast_expression "(uint *)(iVar12 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar10 = uVar18;" (assignment_expression "uVar10 = uVar18" identifier = identifier) ;) })) (expression_statement "*(uint *)(iVar12 + 0x20) = uVar10;" (assignment_expression "*(uint *)(iVar12 + 0x20) = uVar10" (pointer_expression "*(uint *)(iVar12 + 0x20)" * (cast_expression "(uint *)(iVar12 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_40->fr_address = pfVar17->fr_address;" (assignment_expression "local_40->fr_address = pfVar17->fr_address" (field_expression "local_40->fr_address" identifier -> field_identifier) = (field_expression "pfVar17->fr_address" identifier -> field_identifier)) ;) (expression_statement "puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc);" (assignment_expression "puVar23 = (undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)&local_40->last_fr_address & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)&local_40->last_fr_address & 0xfffffffc)" ( (binary_expression "(uint)&local_40->last_fr_address & 0xfffffffc" (binary_expression "(uint)&local_40->last_fr_address" (parenthesized_expression "(uint)" ( identifier )) & (field_expression "local_40->last_fr_address" identifier -> field_identifier)) & number_literal) )))) ;) (expression_statement "(local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes;" (assignment_expression "(local_40->tc_frag_data).max_bytes = (pfVar17->tc_frag_data).max_bytes" (field_expression "(local_40->tc_frag_data).max_bytes" (parenthesized_expression "(local_40->tc_frag_data)" ( (field_expression "local_40->tc_frag_data" identifier -> field_identifier) )) . field_identifier) = (field_expression "(pfVar17->tc_frag_data).max_bytes" (parenthesized_expression "(pfVar17->tc_frag_data)" ( (field_expression "pfVar17->tc_frag_data" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "iVar12 = (int)local_40 - (int)puVar23;" (assignment_expression "iVar12 = (int)local_40 - (int)puVar23" identifier = (binary_expression "(int)local_40 - (int)puVar23" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar20 = (undefined4 *)((int)pfVar17 - iVar12);" (assignment_expression "puVar20 = (undefined4 *)((int)pfVar17 - iVar12)" identifier = (cast_expression "(undefined4 *)((int)pfVar17 - iVar12)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar17 - iVar12)" ( (binary_expression "(int)pfVar17 - iVar12" (cast_expression "(int)pfVar17" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (for_statement "for (uVar18 = iVar12 + 0x54U >> 2; uVar18 != 0; uVar18 = uVar18 - 1) {\n            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }" for ( (assignment_expression "uVar18 = iVar12 + 0x54U >> 2" identifier = (binary_expression "iVar12 + 0x54U >> 2" (binary_expression "iVar12 + 0x54U" identifier + number_literal) >> 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            *puVar23 = *puVar20;\n            puVar20 = puVar20 + (uint)bVar24 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar24 * -2 + 1;\n          }" { (expression_statement "*puVar23 = *puVar20;" (assignment_expression "*puVar23 = *puVar20" (pointer_expression "*puVar23" * identifier) = (pointer_expression "*puVar20" * identifier)) ;) (expression_statement "puVar20 = puVar20 + (uint)bVar24 * -2 + 1;" (assignment_expression "puVar20 = puVar20 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "puVar20 + (uint)bVar24 * -2 + 1" (binary_expression "puVar20 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar23 = puVar23 + (uint)bVar24 * -2 + 1;" (assignment_expression "puVar23 = puVar23 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "puVar23 + (uint)bVar24 * -2 + 1" (binary_expression "puVar23 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var);" (call_expression "memcpy(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var)" identifier (argument_list "(local_40->fr_literal,pfVar17->fr_literal + pfVar17->fr_fix,pfVar17->fr_var)" ( (field_expression "local_40->fr_literal" identifier -> field_identifier) , (binary_expression "pfVar17->fr_literal + pfVar17->fr_fix" (field_expression "pfVar17->fr_literal" identifier -> field_identifier) + (field_expression "pfVar17->fr_fix" identifier -> field_identifier)) , (field_expression "pfVar17->fr_var" identifier -> field_identifier) ))) ;) (expression_statement "aVar21 = aVar9 + pfVar17->fr_fix + local_34;" (assignment_expression "aVar21 = aVar9 + pfVar17->fr_fix + local_34" identifier = (binary_expression "aVar9 + pfVar17->fr_fix + local_34" (binary_expression "aVar9 + pfVar17->fr_fix" identifier + (field_expression "pfVar17->fr_fix" identifier -> field_identifier)) + identifier)) ;) (expression_statement "oVar5 = pfVar17->fr_offset;" (assignment_expression "oVar5 = pfVar17->fr_offset" identifier = (field_expression "pfVar17->fr_offset" identifier -> field_identifier)) ;) (expression_statement "local_40->fr_type = rs_fill;" (assignment_expression "local_40->fr_type = rs_fill" (field_expression "local_40->fr_type" identifier -> field_identifier) = identifier) ;) (expression_statement "local_40->fr_address = aVar21;" (assignment_expression "local_40->fr_address = aVar21" (field_expression "local_40->fr_address" identifier -> field_identifier) = identifier) ;) (expression_statement "local_40->fr_fix = 0;" (assignment_expression "local_40->fr_fix = 0" (field_expression "local_40->fr_fix" identifier -> field_identifier) = number_literal) ;) (expression_statement "iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var;" (assignment_expression "iVar12 = (1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var" identifier = (binary_expression "(1 << ((byte)oVar5 & 0x1f)) / pfVar17->fr_var" (parenthesized_expression "(1 << ((byte)oVar5 & 0x1f))" ( (binary_expression "1 << ((byte)oVar5 & 0x1f)" number_literal << (parenthesized_expression "((byte)oVar5 & 0x1f)" ( (binary_expression "(byte)oVar5 & 0x1f" (cast_expression "(byte)oVar5" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) / (field_expression "pfVar17->fr_var" identifier -> field_identifier))) ;) (expression_statement "local_40->fr_offset = iVar12;" (assignment_expression "local_40->fr_offset = iVar12" (field_expression "local_40->fr_offset" identifier -> field_identifier) = identifier) ;) (expression_statement "iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f);" (assignment_expression "iVar16 = 1 << ((byte)pfVar17->fr_offset & 0x1f)" identifier = (binary_expression "1 << ((byte)pfVar17->fr_offset & 0x1f)" number_literal << (parenthesized_expression "((byte)pfVar17->fr_offset & 0x1f)" ( (binary_expression "(byte)pfVar17->fr_offset & 0x1f" (cast_expression "(byte)pfVar17->fr_offset" ( (type_descriptor "byte" type_identifier) ) (field_expression "pfVar17->fr_offset" identifier -> field_identifier)) & number_literal) )))) ;) (if_statement "if (iVar19 * iVar12 - iVar16 == 0) {\n            iVar16 = iVar12 * local_40->fr_var;\n          }\n          else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }" if (parenthesized_expression "(iVar19 * iVar12 - iVar16 == 0)" ( (binary_expression "iVar19 * iVar12 - iVar16 == 0" (binary_expression "iVar19 * iVar12 - iVar16" (binary_expression "iVar19 * iVar12" identifier * identifier) - identifier) == number_literal) )) (compound_statement "{\n            iVar16 = iVar12 * local_40->fr_var;\n          }" { (expression_statement "iVar16 = iVar12 * local_40->fr_var;" (assignment_expression "iVar16 = iVar12 * local_40->fr_var" identifier = (binary_expression "iVar12 * local_40->fr_var" identifier * (field_expression "local_40->fr_var" identifier -> field_identifier))) ;) }) (else_clause "else {\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }" else (compound_statement "{\n            local_40->fr_offset = iVar16;\n            local_40->fr_var = 1;\n          }" { (expression_statement "local_40->fr_offset = iVar16;" (assignment_expression "local_40->fr_offset = iVar16" (field_expression "local_40->fr_offset" identifier -> field_identifier) = identifier) ;) (expression_statement "local_40->fr_var = 1;" (assignment_expression "local_40->fr_var = 1" (field_expression "local_40->fr_var" identifier -> field_identifier) = number_literal) ;) }))) (expression_statement "local_38 = local_38 + iVar16;" (assignment_expression "local_38 = local_38 + iVar16" identifier = (binary_expression "local_38 + iVar16" identifier + identifier)) ;) (expression_statement "local_40->fr_address = aVar21 - (local_38 + local_4c);" (assignment_expression "local_40->fr_address = aVar21 - (local_38 + local_4c)" (field_expression "local_40->fr_address" identifier -> field_identifier) = (binary_expression "aVar21 - (local_38 + local_4c)" identifier - (parenthesized_expression "(local_38 + local_4c)" ( (binary_expression "local_38 + local_4c" identifier + identifier) )))) ;) (expression_statement "local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1;" (assignment_expression "local_40->field_0x2e = local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1" (field_expression "local_40->field_0x2e" identifier -> field_identifier) = (binary_expression "local_40->field_0x2e & 0xfe | local_40->field_0x2e & 1 ^ 1" (binary_expression "local_40->field_0x2e & 0xfe" (field_expression "local_40->field_0x2e" identifier -> field_identifier) & number_literal) | (binary_expression "local_40->field_0x2e & 1 ^ 1" (binary_expression "local_40->field_0x2e & 1" (field_expression "local_40->field_0x2e" identifier -> field_identifier) & number_literal) ^ number_literal))) ;) (expression_statement "pfVar17->fr_next = local_40;" (assignment_expression "pfVar17->fr_next = local_40" (field_expression "pfVar17->fr_next" identifier -> field_identifier) = identifier) ;) (goto_statement "goto LAB_0003da0f;" goto statement_identifier ;) })) (expression_statement "local_40 = pfVar17->fr_next;" (assignment_expression "local_40 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (expression_statement "local_4c = local_4c + local_38;" (assignment_expression "local_4c = local_4c + local_38" identifier = (binary_expression "local_4c + local_38" identifier + identifier)) ;) (goto_statement "goto joined_r0x0003d74b;" goto statement_identifier ;)) (case_statement "case rs_org:\n        if (symp != (symbolS *)0x0) {\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }\n        local_40 = pfVar17->fr_next;\n        if (local_40 == (fragS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }\n        aVar4 = local_40->fr_address;\n        if (aVar9 + pfVar17->fr_fix <= local_38) {\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }\n        if (1 < pass) {\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        pfVar17 = local_40;\n        aVar21 = aVar4;\n        goto LAB_0003d598;" case identifier : (if_statement "if (symp != (symbolS *)0x0) {\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }" if (parenthesized_expression "(symp != (symbolS *)0x0)" ( (binary_expression "symp != (symbolS *)0x0" identifier != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          paVar13 = S_GET_SEGMENT(symp);\n          if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }\n          vVar14 = S_GET_VALUE(symp);\n          local_38 = local_38 + vVar14;\n        }" { (expression_statement "paVar13 = S_GET_SEGMENT(symp);" (assignment_expression "paVar13 = S_GET_SEGMENT(symp)" identifier = (call_expression "S_GET_SEGMENT(symp)" identifier (argument_list "(symp)" ( identifier )))) ;) (if_statement "if (paVar13->vma != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }" if (parenthesized_expression "(paVar13->vma != 0)" ( (binary_expression "paVar13->vma != 0" (field_expression "paVar13->vma" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/write.c",0xb80,"relax_segment");\n          }" { comment (expression_statement "as_abort("../../gas/write.c",0xb80,"relax_segment");" (call_expression "as_abort("../../gas/write.c",0xb80,"relax_segment")" identifier (argument_list "("../../gas/write.c",0xb80,"relax_segment")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""relax_segment"" " string_content ") ))) ;) })) (expression_statement "vVar14 = S_GET_VALUE(symp);" (assignment_expression "vVar14 = S_GET_VALUE(symp)" identifier = (call_expression "S_GET_VALUE(symp)" identifier (argument_list "(symp)" ( identifier )))) ;) (expression_statement "local_38 = local_38 + vVar14;" (assignment_expression "local_38 = local_38 + vVar14" identifier = (binary_expression "local_38 + vVar14" identifier + identifier)) ;) })) (expression_statement "local_40 = pfVar17->fr_next;" (assignment_expression "local_40 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (if_statement "if (local_40 == (fragS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }" if (parenthesized_expression "(local_40 == (fragS *)0x0)" ( (binary_expression "local_40 == (fragS *)0x0" identifier == (cast_expression "(fragS *)0x0" ( (type_descriptor "fragS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0xb84,"relax_segment");\n        }" { comment (expression_statement "as_abort("../../gas/write.c",0xb84,"relax_segment");" (call_expression "as_abort("../../gas/write.c",0xb84,"relax_segment")" identifier (argument_list "("../../gas/write.c",0xb84,"relax_segment")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""relax_segment"" " string_content ") ))) ;) })) (expression_statement "aVar4 = local_40->fr_address;" (assignment_expression "aVar4 = local_40->fr_address" identifier = (field_expression "local_40->fr_address" identifier -> field_identifier)) ;) (if_statement "if (aVar9 + pfVar17->fr_fix <= local_38) {\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }" if (parenthesized_expression "(aVar9 + pfVar17->fr_fix <= local_38)" ( (binary_expression "aVar9 + pfVar17->fr_fix <= local_38" (binary_expression "aVar9 + pfVar17->fr_fix" identifier + (field_expression "pfVar17->fr_fix" identifier -> field_identifier)) <= identifier) )) (compound_statement "{\n          local_38 = local_38 - (aVar4 + local_4c);\nLAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }\n          goto LAB_0003d70f;\n        }" { (expression_statement "local_38 = local_38 - (aVar4 + local_4c);" (assignment_expression "local_38 = local_38 - (aVar4 + local_4c)" identifier = (binary_expression "local_38 - (aVar4 + local_4c)" identifier - (parenthesized_expression "(aVar4 + local_4c)" ( (binary_expression "aVar4 + local_4c" identifier + identifier) )))) ;) (labeled_statement "LAB_0003da0f:\n          if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }" statement_identifier : (if_statement "if (local_38 != 0) {\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }" if (parenthesized_expression "(local_38 != 0)" ( (binary_expression "local_38 != 0" identifier != number_literal) )) (compound_statement "{\n            rVar22 = pfVar17->fr_type;\n            goto LAB_0003d73c;\n          }" { (expression_statement "rVar22 = pfVar17->fr_type;" (assignment_expression "rVar22 = pfVar17->fr_type" identifier = (field_expression "pfVar17->fr_type" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0003d73c;" goto statement_identifier ;) }))) (goto_statement "goto LAB_0003d70f;" goto statement_identifier ;) })) (if_statement "if (1 < pass) {\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }" if (parenthesized_expression "(1 < pass)" ( (binary_expression "1 < pass" number_literal < identifier) )) (compound_statement "{\n          pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_type = rs_align;\n          pfVar17->fr_subtype = 0;\n          pfVar17->fr_offset = 0;\n          pfVar17->fr_fix = aVar4 - aVar21;\n          local_40 = pfVar17->fr_next;\n          goto joined_r0x0003d763;\n        }" { (expression_statement "pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5);" (assignment_expression "pcVar15 = (char *)dcgettext(0,"attempt to move .org backwards",5)" identifier = (cast_expression "(char *)dcgettext(0,"attempt to move .org backwards",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"attempt to move .org backwards",5)" identifier (argument_list "(0,"attempt to move .org backwards",5)" ( number_literal , (string_literal ""attempt to move .org backwards"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);" (call_expression "as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15)" identifier (argument_list "(pfVar17->fr_file,pfVar17->fr_line,pcVar15)" ( (field_expression "pfVar17->fr_file" identifier -> field_identifier) , (field_expression "pfVar17->fr_line" identifier -> field_identifier) , identifier ))) ;) (expression_statement "pfVar17->fr_type = rs_align;" (assignment_expression "pfVar17->fr_type = rs_align" (field_expression "pfVar17->fr_type" identifier -> field_identifier) = identifier) ;) (expression_statement "pfVar17->fr_subtype = 0;" (assignment_expression "pfVar17->fr_subtype = 0" (field_expression "pfVar17->fr_subtype" identifier -> field_identifier) = number_literal) ;) (expression_statement "pfVar17->fr_offset = 0;" (assignment_expression "pfVar17->fr_offset = 0" (field_expression "pfVar17->fr_offset" identifier -> field_identifier) = number_literal) ;) (expression_statement "pfVar17->fr_fix = aVar4 - aVar21;" (assignment_expression "pfVar17->fr_fix = aVar4 - aVar21" (field_expression "pfVar17->fr_fix" identifier -> field_identifier) = (binary_expression "aVar4 - aVar21" identifier - identifier)) ;) (expression_statement "local_40 = pfVar17->fr_next;" (assignment_expression "local_40 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (goto_statement "goto joined_r0x0003d763;" goto statement_identifier ;) })) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) (expression_statement "pfVar17 = local_40;" (assignment_expression "pfVar17 = local_40" identifier = identifier) ;) (expression_statement "aVar21 = aVar4;" (assignment_expression "aVar21 = aVar4" identifier = identifier) ;) (goto_statement "goto LAB_0003d598;" goto statement_identifier ;)) (case_statement "case rs_machine_dependent:\n        local_38 = relax_frag(segment,pfVar17,local_4c);\n        break;" case identifier : (expression_statement "local_38 = relax_frag(segment,pfVar17,local_4c);" (assignment_expression "local_38 = relax_frag(segment,pfVar17,local_4c)" identifier = (call_expression "relax_frag(segment,pfVar17,local_4c)" identifier (argument_list "(segment,pfVar17,local_4c)" ( identifier , identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case rs_space:" case identifier :) (case_statement "case rs_space_nop:\n        if (symp == (symbolS *)0x0) goto _L687;\n        vVar14 = S_GET_VALUE(symp);\n        paVar13 = S_GET_SEGMENT(symp);\n        if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }\n        else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }\n        goto joined_r0x0003d763;" case identifier : (if_statement "if (symp == (symbolS *)0x0) goto _L687;" if (parenthesized_expression "(symp == (symbolS *)0x0)" ( (binary_expression "symp == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto _L687;" goto statement_identifier ;)) (expression_statement "vVar14 = S_GET_VALUE(symp);" (assignment_expression "vVar14 = S_GET_VALUE(symp)" identifier = (call_expression "S_GET_VALUE(symp)" identifier (argument_list "(symp)" ( identifier )))) ;) (expression_statement "paVar13 = S_GET_SEGMENT(symp);" (assignment_expression "paVar13 = S_GET_SEGMENT(symp)" identifier = (call_expression "S_GET_SEGMENT(symp)" identifier (argument_list "(symp)" ( identifier )))) ;) (if_statement "if (((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)) {\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }\n        else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }" if (parenthesized_expression "(((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0))" ( (binary_expression "((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)) &&\n           (iVar12 = S_IS_DEFINED(symp), iVar12 != 0)" (parenthesized_expression "((paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0))" ( (binary_expression "(paVar13 == paVar8) && (iVar12 = S_IS_COMMON(symp), iVar12 == 0)" (parenthesized_expression "(paVar13 == paVar8)" ( (binary_expression "paVar13 == paVar8" identifier == identifier) )) && (parenthesized_expression "(iVar12 = S_IS_COMMON(symp), iVar12 == 0)" ( (comma_expression "iVar12 = S_IS_COMMON(symp), iVar12 == 0" (assignment_expression "iVar12 = S_IS_COMMON(symp)" identifier = (call_expression "S_IS_COMMON(symp)" identifier (argument_list "(symp)" ( identifier )))) , (binary_expression "iVar12 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(iVar12 = S_IS_DEFINED(symp), iVar12 != 0)" ( (comma_expression "iVar12 = S_IS_DEFINED(symp), iVar12 != 0" (assignment_expression "iVar12 = S_IS_DEFINED(symp)" identifier = (call_expression "S_IS_DEFINED(symp)" identifier (argument_list "(symp)" ( identifier )))) , (binary_expression "iVar12 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }\n          if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }\n        }" { (if_statement "if (-1 < (int)vVar14) {\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }" if (parenthesized_expression "(-1 < (int)vVar14)" ( (binary_expression "-1 < (int)vVar14" number_literal < (cast_expression "(int)vVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            local_40 = pfVar17->fr_next;\n            local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;\n            goto LAB_0003da0f;\n          }" { (expression_statement "local_40 = pfVar17->fr_next;" (assignment_expression "local_40 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (expression_statement "local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14;" (assignment_expression "local_38 = ((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14" identifier = (binary_expression "((pfVar17->fr_fix + aVar21) - local_40->fr_address) + vVar14" (parenthesized_expression "((pfVar17->fr_fix + aVar21) - local_40->fr_address)" ( (binary_expression "(pfVar17->fr_fix + aVar21) - local_40->fr_address" (parenthesized_expression "(pfVar17->fr_fix + aVar21)" ( (binary_expression "pfVar17->fr_fix + aVar21" (field_expression "pfVar17->fr_fix" identifier -> field_identifier) + identifier) )) - (field_expression "local_40->fr_address" identifier -> field_identifier)) )) + identifier)) ;) (goto_statement "goto LAB_0003da0f;" goto statement_identifier ;) })) (if_statement "if (pass < 2) {\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }\n          else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }" if (parenthesized_expression "(pass < 2)" ( (binary_expression "pass < 2" identifier < number_literal) )) (compound_statement "{\n            local_40 = pfVar17->fr_next;\n            local_2c = 1;\n          }" { (expression_statement "local_40 = pfVar17->fr_next;" (assignment_expression "local_40 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) }) (else_clause "else {\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }" else (compound_statement "{\n            pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n            pfVar17->fr_symbol = (symbolS *)0x0;\n            local_40 = pfVar17->fr_next;\n          }" { (expression_statement "pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5);" (assignment_expression "pcVar15 = (char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5)" identifier = (cast_expression "(char *)dcgettext(0,".space, .nops or .fill with negative value, ignored",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,".space, .nops or .fill with negative value, ignored",5)" identifier (argument_list "(0,".space, .nops or .fill with negative value, ignored",5)" ( number_literal , (string_literal "".space, .nops or .fill with negative value, ignored"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);" (call_expression "as_warn_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15)" identifier (argument_list "(pfVar17->fr_file,pfVar17->fr_line,pcVar15)" ( (field_expression "pfVar17->fr_file" identifier -> field_identifier) , (field_expression "pfVar17->fr_line" identifier -> field_identifier) , identifier ))) ;) (expression_statement "pfVar17->fr_symbol = (symbolS *)0x0;" (assignment_expression "pfVar17->fr_symbol = (symbolS *)0x0" (field_expression "pfVar17->fr_symbol" identifier -> field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_40 = pfVar17->fr_next;" (assignment_expression "local_40 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) }))) }) (else_clause "else {\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }" else (compound_statement "{\n          pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);\n          as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);\n          pfVar17->fr_symbol = (symbolS *)0x0;\n          local_40 = pfVar17->fr_next;\n        }" { (expression_statement "pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5);" (assignment_expression "pcVar15 = (char *)dcgettext(0,".space specifies non-absolute value",5)" identifier = (cast_expression "(char *)dcgettext(0,".space specifies non-absolute value",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,".space specifies non-absolute value",5)" identifier (argument_list "(0,".space specifies non-absolute value",5)" ( number_literal , (string_literal "".space specifies non-absolute value"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15);" (call_expression "as_bad_where(pfVar17->fr_file,pfVar17->fr_line,pcVar15)" identifier (argument_list "(pfVar17->fr_file,pfVar17->fr_line,pcVar15)" ( (field_expression "pfVar17->fr_file" identifier -> field_identifier) , (field_expression "pfVar17->fr_line" identifier -> field_identifier) , identifier ))) ;) (expression_statement "pfVar17->fr_symbol = (symbolS *)0x0;" (assignment_expression "pfVar17->fr_symbol = (symbolS *)0x0" (field_expression "pfVar17->fr_symbol" identifier -> field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_40 = pfVar17->fr_next;" (assignment_expression "local_40 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) }))) (goto_statement "goto joined_r0x0003d763;" goto statement_identifier ;)) (case_statement "case rs_leb128:\n        vVar14 = resolve_symbol_value(symp);\n        uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);\n        local_38 = uVar18 - pfVar17->fr_offset;\n        pfVar17->fr_offset = uVar18;\n        break;" case identifier : (expression_statement "vVar14 = resolve_symbol_value(symp);" (assignment_expression "vVar14 = resolve_symbol_value(symp)" identifier = (call_expression "resolve_symbol_value(symp)" identifier (argument_list "(symp)" ( identifier )))) ;) (expression_statement "uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype);" (assignment_expression "uVar18 = sizeof_leb128(vVar14,pfVar17->fr_subtype)" identifier = (call_expression "sizeof_leb128(vVar14,pfVar17->fr_subtype)" identifier (argument_list "(vVar14,pfVar17->fr_subtype)" ( identifier , (field_expression "pfVar17->fr_subtype" identifier -> field_identifier) )))) ;) (expression_statement "local_38 = uVar18 - pfVar17->fr_offset;" (assignment_expression "local_38 = uVar18 - pfVar17->fr_offset" identifier = (binary_expression "uVar18 - pfVar17->fr_offset" identifier - (field_expression "pfVar17->fr_offset" identifier -> field_identifier))) ;) (expression_statement "pfVar17->fr_offset = uVar18;" (assignment_expression "pfVar17->fr_offset = uVar18" (field_expression "pfVar17->fr_offset" identifier -> field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case rs_cfa:\n        local_38 = eh_frame_relax_frag(pfVar17);\n        local_40 = pfVar17->fr_next;\n        goto joined_r0x0003d971;" case identifier : (expression_statement "local_38 = eh_frame_relax_frag(pfVar17);" (assignment_expression "local_38 = eh_frame_relax_frag(pfVar17)" identifier = (call_expression "eh_frame_relax_frag(pfVar17)" identifier (argument_list "(pfVar17)" ( identifier )))) ;) (expression_statement "local_40 = pfVar17->fr_next;" (assignment_expression "local_40 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (goto_statement "goto joined_r0x0003d971;" goto statement_identifier ;)) (case_statement "case rs_dwarf2dbg:\n        local_38 = dwarf2dbg_relax_frag(pfVar17);" case identifier : (expression_statement "local_38 = dwarf2dbg_relax_frag(pfVar17);" (assignment_expression "local_38 = dwarf2dbg_relax_frag(pfVar17)" identifier = (call_expression "dwarf2dbg_relax_frag(pfVar17)" identifier (argument_list "(pfVar17)" ( identifier )))) ;)) })) (expression_statement "local_40 = pfVar17->fr_next;" (assignment_expression "local_40 = pfVar17->fr_next" identifier = (field_expression "pfVar17->fr_next" identifier -> field_identifier)) ;) (labeled_statement "joined_r0x0003d971:\n      if (local_38 != 0) {\n        rVar22 = pfVar17->fr_type;\nLAB_0003d73c:\n        local_4c = local_4c + local_38;\n        if (rVar22 == rs_leb128) {\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }\n      }" statement_identifier : (if_statement "if (local_38 != 0) {\n        rVar22 = pfVar17->fr_type;\nLAB_0003d73c:\n        local_4c = local_4c + local_38;\n        if (rVar22 == rs_leb128) {\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }\n      }" if (parenthesized_expression "(local_38 != 0)" ( (binary_expression "local_38 != 0" identifier != number_literal) )) (compound_statement "{\n        rVar22 = pfVar17->fr_type;\nLAB_0003d73c:\n        local_4c = local_4c + local_38;\n        if (rVar22 == rs_leb128) {\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }\n      }" { (expression_statement "rVar22 = pfVar17->fr_type;" (assignment_expression "rVar22 = pfVar17->fr_type" identifier = (field_expression "pfVar17->fr_type" identifier -> field_identifier)) ;) (labeled_statement "LAB_0003d73c:\n        local_4c = local_4c + local_38;" statement_identifier : (expression_statement "local_4c = local_4c + local_38;" (assignment_expression "local_4c = local_4c + local_38" identifier = (binary_expression "local_4c + local_38" identifier + identifier)) ;)) (if_statement "if (rVar22 == rs_leb128) {\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }" if (parenthesized_expression "(rVar22 == rs_leb128)" ( (binary_expression "rVar22 == rs_leb128" identifier == identifier) )) (compound_statement "{\n          local_44 = local_44 + 0x10;\n          bVar7 = true;\n        }" { (expression_statement "local_44 = local_44 + 0x10;" (assignment_expression "local_44 = local_44 + 0x10" identifier = (binary_expression "local_44 + 0x10" identifier + number_literal)) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) }) (else_clause "else {\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }" else (compound_statement "{\njoined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }\n        }" { (labeled_statement "joined_r0x0003d74b:\n          if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }" statement_identifier : (if_statement "if (((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)) {\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }\n          else {\n            local_44 = 0;\n            bVar7 = true;\n          }" if (parenthesized_expression "(((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0))" ( (binary_expression "((rVar22 == rs_align) && ((local_44 & 0x10) != 0)) && (local_4c == 0)" (parenthesized_expression "((rVar22 == rs_align) && ((local_44 & 0x10) != 0))" ( (binary_expression "(rVar22 == rs_align) && ((local_44 & 0x10) != 0)" (parenthesized_expression "(rVar22 == rs_align)" ( (binary_expression "rVar22 == rs_align" identifier == identifier) )) && (parenthesized_expression "((local_44 & 0x10) != 0)" ( (binary_expression "(local_44 & 0x10) != 0" (parenthesized_expression "(local_44 & 0x10)" ( (binary_expression "local_44 & 0x10" identifier & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) ))) )) (compound_statement "{\n            local_44 = local_44 + 0x10;\n            bVar7 = true;\n          }" { (expression_statement "local_44 = local_44 + 0x10;" (assignment_expression "local_44 = local_44 + 0x10" identifier = (binary_expression "local_44 + 0x10" identifier + number_literal)) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) }) (else_clause "else {\n            local_44 = 0;\n            bVar7 = true;\n          }" else (compound_statement "{\n            local_44 = 0;\n            bVar7 = true;\n          }" { (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) })))) }))) }))) (labeled_statement "joined_r0x0003d763:\n      if (local_40 != (fragS *)0x0) {\nLAB_0003d70f:\n        pfVar17 = local_40;\n        aVar21 = local_40->fr_address;\n        goto LAB_0003d598;\n      }" statement_identifier : (if_statement "if (local_40 != (fragS *)0x0) {\nLAB_0003d70f:\n        pfVar17 = local_40;\n        aVar21 = local_40->fr_address;\n        goto LAB_0003d598;\n      }" if (parenthesized_expression "(local_40 != (fragS *)0x0)" ( (binary_expression "local_40 != (fragS *)0x0" identifier != (cast_expression "(fragS *)0x0" ( (type_descriptor "fragS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0003d70f:\n        pfVar17 = local_40;\n        aVar21 = local_40->fr_address;\n        goto LAB_0003d598;\n      }" { (labeled_statement "LAB_0003d70f:\n        pfVar17 = local_40;" statement_identifier : (expression_statement "pfVar17 = local_40;" (assignment_expression "pfVar17 = local_40" identifier = identifier) ;)) (expression_statement "aVar21 = local_40->fr_address;" (assignment_expression "aVar21 = local_40->fr_address" identifier = (field_expression "local_40->fr_address" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0003d598;" goto statement_identifier ;) }))) (if_statement "if (local_4c == 0 && (local_44 & 0x10) == 0) {\n        uVar18 = local_44 + 1;\n        uVar10 = local_44 & 0xfffffff0;\n        local_44 = 0;\n        if (uVar10 != 0) {\n          local_44 = uVar18;\n        }\n      }\n      else {\n        local_44 = 0;\n      }" if (parenthesized_expression "(local_4c == 0 && (local_44 & 0x10) == 0)" ( (binary_expression "local_4c == 0 && (local_44 & 0x10) == 0" (binary_expression "local_4c == 0" identifier == number_literal) && (binary_expression "(local_44 & 0x10) == 0" (parenthesized_expression "(local_44 & 0x10)" ( (binary_expression "local_44 & 0x10" identifier & number_literal) )) == number_literal)) )) (compound_statement "{\n        uVar18 = local_44 + 1;\n        uVar10 = local_44 & 0xfffffff0;\n        local_44 = 0;\n        if (uVar10 != 0) {\n          local_44 = uVar18;\n        }\n      }" { (expression_statement "uVar18 = local_44 + 1;" (assignment_expression "uVar18 = local_44 + 1" identifier = (binary_expression "local_44 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = local_44 & 0xfffffff0;" (assignment_expression "uVar10 = local_44 & 0xfffffff0" identifier = (binary_expression "local_44 & 0xfffffff0" identifier & number_literal)) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (if_statement "if (uVar10 != 0) {\n          local_44 = uVar18;\n        }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n          local_44 = uVar18;\n        }" { (expression_statement "local_44 = uVar18;" (assignment_expression "local_44 = uVar18" identifier = identifier) ;) })) }) (else_clause "else {\n        local_44 = 0;\n      }" else (compound_statement "{\n        local_44 = 0;\n      }" { (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) }))) (if_statement "if (!bVar7) {\n        do {\n          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }\n          segment_frag_root = segment_frag_root->fr_next;\n        } while (segment_frag_root != (frag *)0x0);\n        return local_2c;\n      }" if (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) (compound_statement "{\n        do {\n          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }\n          segment_frag_root = segment_frag_root->fr_next;\n        } while (segment_frag_root != (frag *)0x0);\n        return local_2c;\n      }" { (do_statement "do {\n          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }\n          segment_frag_root = segment_frag_root->fr_next;\n        } while (segment_frag_root != (frag *)0x0);" do (compound_statement "{\n          if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }\n          segment_frag_root = segment_frag_root->fr_next;\n        }" { (if_statement "if (segment_frag_root->last_fr_address != segment_frag_root->fr_address) {\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }" if (parenthesized_expression "(segment_frag_root->last_fr_address != segment_frag_root->fr_address)" ( (binary_expression "segment_frag_root->last_fr_address != segment_frag_root->fr_address" (field_expression "segment_frag_root->last_fr_address" identifier -> field_identifier) != (field_expression "segment_frag_root->fr_address" identifier -> field_identifier)) )) (compound_statement "{\n            segment_frag_root->last_fr_address = segment_frag_root->fr_address;\n            local_2c = 1;\n          }" { (expression_statement "segment_frag_root->last_fr_address = segment_frag_root->fr_address;" (assignment_expression "segment_frag_root->last_fr_address = segment_frag_root->fr_address" (field_expression "segment_frag_root->last_fr_address" identifier -> field_identifier) = (field_expression "segment_frag_root->fr_address" identifier -> field_identifier)) ;) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) })) (expression_statement "segment_frag_root = segment_frag_root->fr_next;" (assignment_expression "segment_frag_root = segment_frag_root->fr_next" identifier = (field_expression "segment_frag_root->fr_next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(segment_frag_root != (frag *)0x0)" ( (binary_expression "segment_frag_root != (frag *)0x0" identifier != (cast_expression "(frag *)0x0" ( (type_descriptor "frag *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (return_statement "return local_2c;" return identifier ;) })) (expression_statement "local_28 = local_28 - 1;" (assignment_expression "local_28 = local_28 - 1" identifier = (binary_expression "local_28 - 1" identifier - number_literal)) ;) (if_statement "if (local_28 == 0) {\n        pcVar15 = segment->name;\n        format = (char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(format,pcVar15);\n      }" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar15 = segment->name;\n        format = (char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(format,pcVar15);\n      }" { (expression_statement "pcVar15 = segment->name;" (assignment_expression "pcVar15 = segment->name" identifier = (field_expression "segment->name" identifier -> field_identifier)) ;) (expression_statement "format = (char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment);" (assignment_expression "format = (char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment)" identifier = (cast_expression "(char *)dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment)" identifier (argument_list "(0,\n                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                                   ,5,segment)" ( number_literal , (string_literal ""Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"" " string_content ") , number_literal , identifier ))))) ;) comment (expression_statement "as_fatal(format,pcVar15);" (call_expression "as_fatal(format,pcVar15)" identifier (argument_list "(format,pcVar15)" ( identifier , identifier ))) ;) })) })) }))) (return_statement "return local_2c;" return identifier ;) })))
(translation_unit "undefined4 FUN_0003d490(uint *param_1,undefined4 *param_2,int param_3)\n\n{\n  uint *puVar1;\n  uint *puVar2;\n  short sVar3;\n  bool bVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  int iVar12;\n  undefined4 uVar13;\n  uint *puVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  byte bVar18;\n  int local_4c;\n  uint uStack_44;\n  uint *local_40;\n  uint uStack_38;\n  uint uStack_34;\n  undefined4 local_2c;\n  uint uStack_28;\n  \n  bVar18 = 0;\n  FUN_00034dd0(param_2,0);\n  if (param_1 == (uint *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }\n  return local_2c;\n}\n\n" (function_definition "undefined4 FUN_0003d490(uint *param_1,undefined4 *param_2,int param_3)\n\n{\n  uint *puVar1;\n  uint *puVar2;\n  short sVar3;\n  bool bVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  int iVar12;\n  undefined4 uVar13;\n  uint *puVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  byte bVar18;\n  int local_4c;\n  uint uStack_44;\n  uint *local_40;\n  uint uStack_38;\n  uint uStack_34;\n  undefined4 local_2c;\n  uint uStack_28;\n  \n  bVar18 = 0;\n  FUN_00034dd0(param_2,0);\n  if (param_1 == (uint *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }\n  return local_2c;\n}" type_identifier (function_declarator "FUN_0003d490(uint *param_1,undefined4 *param_2,int param_3)" identifier (parameter_list "(uint *param_1,undefined4 *param_2,int param_3)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  uint *puVar1;\n  uint *puVar2;\n  short sVar3;\n  bool bVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  int iVar12;\n  undefined4 uVar13;\n  uint *puVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  byte bVar18;\n  int local_4c;\n  uint uStack_44;\n  uint *local_40;\n  uint uStack_38;\n  uint uStack_34;\n  undefined4 local_2c;\n  uint uStack_28;\n  \n  bVar18 = 0;\n  FUN_00034dd0(param_2,0);\n  if (param_1 == (uint *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }\n  return local_2c;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "short sVar3;" (sized_type_specifier "short" short) identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "uint uStack_44;" type_identifier identifier ;) (declaration "uint *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "uint uStack_38;" type_identifier identifier ;) (declaration "uint uStack_34;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "uint uStack_28;" type_identifier identifier ;) (expression_statement "bVar18 = 0;" (assignment_expression "bVar18 = 0" identifier = number_literal) ;) (expression_statement "FUN_00034dd0(param_2,0);" (call_expression "FUN_00034dd0(param_2,0)" identifier (argument_list "(param_2,0)" ( identifier , number_literal ))) ;) (if_statement "if (param_1 == (uint *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }" if (parenthesized_expression "(param_1 == (uint *)0x0)" ( (binary_expression "param_1 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_2c = 0;\n  }" { (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) }) (else_clause "else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }" else (compound_statement "{\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }" { (expression_statement "sVar3 = 0;" (assignment_expression "sVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "puVar14 = param_1;" (assignment_expression "puVar14 = param_1" identifier = identifier) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);" do (compound_statement "{\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    }" { (expression_statement "iVar12 = iVar9;" (assignment_expression "iVar12 = iVar9" identifier = identifier) ;) (expression_statement "*puVar14 = uVar15;" (assignment_expression "*puVar14 = uVar15" (pointer_expression "*puVar14" * identifier) = identifier) ;) (expression_statement "uVar15 = uVar15 + puVar14[2];" (assignment_expression "uVar15 = uVar15 + puVar14[2]" identifier = (binary_expression "uVar15 + puVar14[2]" identifier + (subscript_expression "puVar14[2]" identifier [ number_literal ]))) ;) (expression_statement "*(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;" (assignment_expression "*(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" * (cast_expression "(byte *)((int)puVar14 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x2e)" ( (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 0xfe" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" * (cast_expression "(byte *)((int)puVar14 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x2e)" ( (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "*(short *)(puVar14 + 0xb) = sVar3;" (assignment_expression "*(short *)(puVar14 + 0xb) = sVar3" (pointer_expression "*(short *)(puVar14 + 0xb)" * (cast_expression "(short *)(puVar14 + 0xb)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0xb)" ( (binary_expression "puVar14 + 0xb" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = puVar14[0xc];" (assignment_expression "uVar7 = puVar14[0xc]" identifier = (subscript_expression "puVar14[0xc]" identifier [ number_literal ])) ;) (switch_statement "switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }" switch (parenthesized_expression "(uVar7)" ( identifier )) (compound_statement "{\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }" { (case_statement "default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");" default : (expression_statement "uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);" (assignment_expression "uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier = (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" ( number_literal , (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");" (call_expression "FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c")" identifier (argument_list "(uVar13,uVar7,0xaa0,"../../gas/write.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/write.c"" " string_content ") ))) ;)) (case_statement "case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;" case number_literal : (expression_statement "puVar1 = puVar14 + 4;" (assignment_expression "puVar1 = puVar14 + 4" identifier = (binary_expression "puVar14 + 4" identifier + number_literal)) ;) (expression_statement "puVar2 = puVar14 + 3;" (assignment_expression "puVar2 = puVar14 + 3" identifier = (binary_expression "puVar14 + 3" identifier + number_literal)) ;) (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "uVar15 = *puVar1 * *puVar2 + uVar15;" (assignment_expression "uVar15 = *puVar1 * *puVar2 + uVar15" identifier = (binary_expression "*puVar1 * *puVar2 + uVar15" (binary_expression "*puVar1 * *puVar2" (pointer_expression "*puVar1" * identifier) * (pointer_expression "*puVar2" * identifier)) + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }" case number_literal : (expression_statement "uVar7 = -1 << ((byte)puVar14[4] & 0x1f);" (assignment_expression "uVar7 = -1 << ((byte)puVar14[4] & 0x1f)" identifier = (binary_expression "-1 << ((byte)puVar14[4] & 0x1f)" number_literal << (parenthesized_expression "((byte)puVar14[4] & 0x1f)" ( (binary_expression "(byte)puVar14[4] & 0x1f" (cast_expression "(byte)puVar14[4]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar14[4]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "uVar7 = ~uVar7 + uVar15 & uVar7;" (assignment_expression "uVar7 = ~uVar7 + uVar15 & uVar7" identifier = (binary_expression "~uVar7 + uVar15 & uVar7" (binary_expression "~uVar7 + uVar15" (unary_expression "~uVar7" ~ identifier) + identifier) & identifier)) ;) (expression_statement "uVar8 = uVar7 - uVar15;" (assignment_expression "uVar8 = uVar7 - uVar15" identifier = (binary_expression "uVar7 - uVar15" identifier - identifier)) ;) (if_statement "if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }" if (parenthesized_expression "(((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0))" ( (binary_expression "((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)" (parenthesized_expression "((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd]))" ( (binary_expression "(puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])" (parenthesized_expression "(puVar14[0xd] == 0)" ( (binary_expression "puVar14[0xd] == 0" (subscript_expression "puVar14[0xd]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(uVar8 <= puVar14[0xd])" ( (binary_expression "uVar8 <= puVar14[0xd]" identifier <= (subscript_expression "puVar14[0xd]" identifier [ number_literal ])) ))) )) && (parenthesized_expression "(uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)" ( (comma_expression "uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0" (assignment_expression "uVar6 = puVar14[3]" identifier = (subscript_expression "puVar14[3]" identifier [ number_literal ])) , (comma_expression "uVar15 = uVar7, uVar8 % uVar6 != 0" (assignment_expression "uVar15 = uVar7" identifier = identifier) , (binary_expression "uVar8 % uVar6 != 0" (binary_expression "uVar8 % uVar6" identifier % identifier) != number_literal))) ))) )) (compound_statement "{\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }" { (expression_statement "uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);" (assignment_expression "uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5)" identifier = (call_expression "dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5)" identifier (argument_list "(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5)" ( number_literal , (string_literal ""alignment padding (%lu byte) not a multiple of %ld"" " string_content ") , (string_literal ""alignment padding (%lu bytes) not a multiple of %ld"" " string_content ") , identifier , number_literal )))) ;) (expression_statement "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);" (call_expression "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6)" identifier (argument_list "(puVar14[8],puVar14[9],uVar13,uVar8,uVar6)" ( (subscript_expression "puVar14[8]" identifier [ number_literal ]) , (subscript_expression "puVar14[9]" identifier [ number_literal ]) , identifier , identifier , identifier ))) ;) (expression_statement "uVar15 = uVar7 - uVar8 % puVar14[3];" (assignment_expression "uVar15 = uVar7 - uVar8 % puVar14[3]" identifier = (binary_expression "uVar7 - uVar8 % puVar14[3]" identifier - (binary_expression "uVar8 % puVar14[3]" identifier % (subscript_expression "puVar14[3]" identifier [ number_literal ])))) ;) }))) (case_statement "case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;" case number_literal : (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "sVar3 = sVar3 + 1;" (assignment_expression "sVar3 = sVar3 + 1" identifier = (binary_expression "sVar3 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;" case number_literal : (if_statement "if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }" if (parenthesized_expression "(puVar14[5] != 0)" ( (binary_expression "puVar14[5] != 0" (subscript_expression "puVar14[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          FUN_00037320(puVar14[5]);\n        }" { (expression_statement "FUN_00037320(puVar14[5]);" (call_expression "FUN_00037320(puVar14[5])" identifier (argument_list "(puVar14[5])" ( (subscript_expression "puVar14[5]" identifier [ number_literal ]) ))) ;) })) (expression_statement "iVar9 = FUN_0004e530(puVar14,param_2);" (assignment_expression "iVar9 = FUN_0004e530(puVar14,param_2)" identifier = (call_expression "FUN_0004e530(puVar14,param_2)" identifier (argument_list "(puVar14,param_2)" ( identifier , identifier )))) ;) (expression_statement "uVar15 = uVar15 + iVar9;" (assignment_expression "uVar15 = uVar15 + iVar9" identifier = (binary_expression "uVar15 + iVar9" identifier + identifier)) ;)) (case_statement "case 8:" case number_literal :) (case_statement "case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;" case number_literal : (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;" case number_literal : (expression_statement "puVar14[4] = 1;" (assignment_expression "puVar14[4] = 1" (subscript_expression "puVar14[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "uVar15 = uVar15 + 1;" (assignment_expression "uVar15 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;" case number_literal : (expression_statement "iVar9 = FUN_0001fdb0(puVar14);" (assignment_expression "iVar9 = FUN_0001fdb0(puVar14)" identifier = (call_expression "FUN_0001fdb0(puVar14)" identifier (argument_list "(puVar14)" ( identifier )))) ;) (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "uVar15 = uVar15 + iVar9;" (assignment_expression "uVar15 = uVar15 + iVar9" identifier = (binary_expression "uVar15 + iVar9" identifier + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;" case number_literal : (expression_statement "iVar9 = FUN_0001b960(puVar14);" (assignment_expression "iVar9 = FUN_0001b960(puVar14)" identifier = (call_expression "FUN_0001b960(puVar14)" identifier (argument_list "(puVar14)" ( identifier )))) ;) (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "uVar15 = uVar15 + iVar9;" (assignment_expression "uVar15 = uVar15 + iVar9" identifier = (binary_expression "uVar15 + iVar9" identifier + identifier)) ;)) })) (expression_statement "iVar9 = iVar12 + 1;" (assignment_expression "iVar9 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar14 != (uint *)0x0)" ( (binary_expression "puVar14 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "uVar15 = iVar12 + 1;" (assignment_expression "uVar15 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "uStack_44 = 0;" (assignment_expression "uStack_44 = 0" identifier = number_literal) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "uStack_28 = uVar15 * uVar15;" (assignment_expression "uStack_28 = uVar15 * uVar15" identifier = (binary_expression "uVar15 * uVar15" identifier * identifier)) ;) (if_statement "if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }" if (parenthesized_expression "(uVar15 * uVar15 < uVar15)" ( (binary_expression "uVar15 * uVar15 < uVar15" (binary_expression "uVar15 * uVar15" identifier * identifier) < identifier) )) (compound_statement "{\n      uStack_28 = uVar15;\n    }" { (expression_statement "uStack_28 = uVar15;" (assignment_expression "uStack_28 = uVar15" identifier = identifier) ;) })) (expression_statement "puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;" (assignment_expression "puVar5 = PTR__bfd_std_section_0007afb0 + 0x150" identifier = (binary_expression "PTR__bfd_std_section_0007afb0 + 0x150" identifier + number_literal)) ;) (while_statement "while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }" while (parenthesized_expression "(param_1 != (uint *)0x0)" ( (binary_expression "param_1 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }" { (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "puVar14 = param_1;" (assignment_expression "puVar14 = param_1" identifier = identifier) ;) (expression_statement "uVar15 = *param_1;" (assignment_expression "uVar15 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (labeled_statement "code_r0x0003d598:\n      uVar7 = puVar14[0xc];" statement_identifier : (expression_statement "uVar7 = puVar14[0xc];" (assignment_expression "uVar7 = puVar14[0xc]" identifier = (subscript_expression "puVar14[0xc]" identifier [ number_literal ])) ;)) (expression_statement "uVar8 = puVar14[5];" (assignment_expression "uVar8 = puVar14[5]" identifier = (subscript_expression "puVar14[5]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;" (assignment_expression "*(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" * (cast_expression "(byte *)((int)puVar14 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x2e)" ( (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1" (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 0xfe" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" * (cast_expression "(byte *)((int)puVar14 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x2e)" ( (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 1 ^ 1" (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 1" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" * (cast_expression "(byte *)((int)puVar14 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x2e)" ( (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) ^ number_literal))) ;) (expression_statement "uVar6 = local_4c + uVar15;" (assignment_expression "uVar6 = local_4c + uVar15" identifier = (binary_expression "local_4c + uVar15" identifier + identifier)) ;) (expression_statement "*puVar14 = uVar6;" (assignment_expression "*puVar14 = uVar6" (pointer_expression "*puVar14" * identifier) = identifier) ;) (expression_statement "uStack_38 = puVar14[4];" (assignment_expression "uStack_38 = puVar14[4]" identifier = (subscript_expression "puVar14[4]" identifier [ number_literal ])) ;) (switch_statement "switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }" switch (parenthesized_expression "(uVar7)" ( identifier )) (compound_statement "{\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }" { (case_statement "default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");" default : (expression_statement "uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);" (assignment_expression "uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier = (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" ( number_literal , (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");" (call_expression "FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c")" identifier (argument_list "(uVar13,uVar7,0xbf4,"../../gas/write.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/write.c"" " string_content ") ))) ;)) (case_statement "case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;" case number_literal : (labeled_statement "code_r0x0003d708:\n        local_40 = (uint *)puVar14[7];" statement_identifier : (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;)) (goto_statement "goto joined_r0x0003d763;" goto statement_identifier ;)) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;" case number_literal : (expression_statement "iVar9 = uVar15 + puVar14[2];" (assignment_expression "iVar9 = uVar15 + puVar14[2]" identifier = (binary_expression "uVar15 + puVar14[2]" identifier + (subscript_expression "puVar14[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar15 = -1 << ((byte)uStack_38 & 0x1f);" (assignment_expression "uVar15 = -1 << ((byte)uStack_38 & 0x1f)" identifier = (binary_expression "-1 << ((byte)uStack_38 & 0x1f)" number_literal << (parenthesized_expression "((byte)uStack_38 & 0x1f)" ( (binary_expression "(byte)uStack_38 & 0x1f" (cast_expression "(byte)uStack_38" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar8 = iVar9 + ~uVar15 & uVar15;" (assignment_expression "uVar8 = iVar9 + ~uVar15 & uVar15" identifier = (binary_expression "iVar9 + ~uVar15 & uVar15" (binary_expression "iVar9 + ~uVar15" identifier + (unary_expression "~uVar15" ~ identifier)) & identifier)) ;) (expression_statement "uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);" (assignment_expression "uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2])" identifier = (binary_expression "(~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2])" (parenthesized_expression "(~uVar15 + uVar6 + puVar14[2] & uVar15)" ( (binary_expression "~uVar15 + uVar6 + puVar14[2] & uVar15" (binary_expression "~uVar15 + uVar6 + puVar14[2]" (binary_expression "~uVar15 + uVar6" (unary_expression "~uVar15" ~ identifier) + identifier) + (subscript_expression "puVar14[2]" identifier [ number_literal ])) & identifier) )) - (parenthesized_expression "(uVar6 + puVar14[2])" ( (binary_expression "uVar6 + puVar14[2]" identifier + (subscript_expression "puVar14[2]" identifier [ number_literal ])) )))) ;) (expression_statement "uVar15 = puVar14[0xd];" (assignment_expression "uVar15 = puVar14[0xd]" identifier = (subscript_expression "puVar14[0xd]" identifier [ number_literal ])) ;) (if_statement "if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (compound_statement "{\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" { (expression_statement "uStack_38 = (iVar9 - uVar8) + uStack_34;" (assignment_expression "uStack_38 = (iVar9 - uVar8) + uStack_34" identifier = (binary_expression "(iVar9 - uVar8) + uStack_34" (parenthesized_expression "(iVar9 - uVar8)" ( (binary_expression "iVar9 - uVar8" identifier - identifier) )) + identifier)) ;) }) (else_clause "else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" else (if_statement "if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" if (parenthesized_expression "(uVar15 < uVar8 - iVar9)" ( (binary_expression "uVar15 < uVar8 - iVar9" identifier < (binary_expression "uVar8 - iVar9" identifier - identifier)) )) (compound_statement "{\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }" { (expression_statement "uStack_38 = uStack_34;" (assignment_expression "uStack_38 = uStack_34" identifier = identifier) ;) (if_statement "if (uVar15 < uStack_34) goto code_r0x0003d708;" if (parenthesized_expression "(uVar15 < uStack_34)" ( (binary_expression "uVar15 < uStack_34" identifier < identifier) )) (goto_statement "goto code_r0x0003d708;" goto statement_identifier ;)) }) (else_clause "else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" else (if_statement "if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" if (parenthesized_expression "(uVar15 < uStack_34)" ( (binary_expression "uVar15 < uStack_34" identifier < identifier) )) (compound_statement "{\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }" { (expression_statement "uStack_34 = 0;" (assignment_expression "uStack_34 = 0" identifier = number_literal) ;) (expression_statement "uStack_38 = iVar9 - uVar8;" (assignment_expression "uStack_38 = iVar9 - uVar8" identifier = (binary_expression "iVar9 - uVar8" identifier - identifier)) ;) }) (else_clause "else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" else (compound_statement "{\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" { (expression_statement "uStack_38 = (iVar9 - uVar8) + uStack_34;" (assignment_expression "uStack_38 = (iVar9 - uVar8) + uStack_34" identifier = (binary_expression "(iVar9 - uVar8) + uStack_34" (parenthesized_expression "(iVar9 - uVar8)" ( (binary_expression "iVar9 - uVar8" identifier - identifier) )) + identifier)) ;) }))))))) (if_statement "if (-1 < (int)uStack_38) break;" if (parenthesized_expression "(-1 < (int)uStack_38)" ( (binary_expression "-1 < (int)uStack_38" number_literal < (cast_expression "(int)uStack_38" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (if_statement "if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }" if (parenthesized_expression "(((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0))" ( (binary_expression "((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)" (parenthesized_expression "((uStack_44 & 0x10) != 0)" ( (binary_expression "(uStack_44 & 0x10) != 0" (parenthesized_expression "(uStack_44 & 0x10)" ( (binary_expression "uStack_44 & 0x10" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((uStack_44 & 0xe) != 0)" ( (binary_expression "(uStack_44 & 0xe) != 0" (parenthesized_expression "(uStack_44 & 0xe)" ( (binary_expression "uStack_44 & 0xe" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }" { (expression_statement "iVar9 = *(int *)param_2[0x1a];" (assignment_expression "iVar9 = *(int *)param_2[0x1a]" identifier = (pointer_expression "*(int *)param_2[0x1a]" * (cast_expression "(int *)param_2[0x1a]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x1a]" identifier [ number_literal ])))) ;) (expression_statement "local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);" (assignment_expression "local_40 = (uint *)FUN_000234c0(iVar9 + 0x18)" identifier = (cast_expression "(uint *)FUN_000234c0(iVar9 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000234c0(iVar9 + 0x18)" identifier (argument_list "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = puVar14[3];" (assignment_expression "uVar15 = puVar14[3]" identifier = (subscript_expression "puVar14[3]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0x24) + uVar15;" (assignment_expression "iVar12 = *(int *)(iVar9 + 0x24) + uVar15" identifier = (binary_expression "*(int *)(iVar9 + 0x24) + uVar15" (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) + identifier)) ;) (expression_statement "*(int *)(iVar9 + 0x24) = iVar12;" (assignment_expression "*(int *)(iVar9 + 0x24) = iVar12" (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }" if (parenthesized_expression "(iVar12 == *(int *)(iVar9 + 0x20))" ( (binary_expression "iVar12 == *(int *)(iVar9 + 0x20)" identifier == (pointer_expression "*(int *)(iVar9 + 0x20)" * (cast_expression "(int *)(iVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) ))))) )) (compound_statement "{\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }" { (expression_statement "*(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;" (assignment_expression "*(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2" (pointer_expression "*(byte *)(iVar9 + 0x40)" * (cast_expression "(byte *)(iVar9 + 0x40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x40)" ( (binary_expression "iVar9 + 0x40" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar9 + 0x40) | 2" (pointer_expression "*(byte *)(iVar9 + 0x40)" * (cast_expression "(byte *)(iVar9 + 0x40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x40)" ( (binary_expression "iVar9 + 0x40" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "uVar7 = *(uint *)(iVar9 + 0x28);" (assignment_expression "uVar7 = *(uint *)(iVar9 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar9 + 0x28)" * (cast_expression "(uint *)(iVar9 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x28)" ( (binary_expression "iVar9 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);" (assignment_expression "uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30)" identifier = (binary_expression "iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30)" (binary_expression "iVar12 + *(uint *)(iVar9 + 0x30)" identifier + (pointer_expression "*(uint *)(iVar9 + 0x30)" * (cast_expression "(uint *)(iVar9 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x30)" ( (binary_expression "iVar9 + 0x30" identifier + number_literal) ))))) & (unary_expression "~*(uint *)(iVar9 + 0x30)" ~ (pointer_expression "*(uint *)(iVar9 + 0x30)" * (cast_expression "(uint *)(iVar9 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x30)" ( (binary_expression "iVar9 + 0x30" identifier + number_literal) ))))))) ;) (expression_statement "*(uint *)(iVar9 + 0x24) = uVar8;" (assignment_expression "*(uint *)(iVar9 + 0x24) = uVar8" (pointer_expression "*(uint *)(iVar9 + 0x24)" * (cast_expression "(uint *)(iVar9 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) = identifier) ;) (if_statement "if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }" if (parenthesized_expression "(uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c))" ( (binary_expression "uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)" (binary_expression "uVar7 - *(int *)(iVar9 + 0x1c)" identifier - (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) ))))) < (binary_expression "uVar8 - *(int *)(iVar9 + 0x1c)" identifier - (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))))) )) (compound_statement "{\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }" { (expression_statement "*(uint *)(iVar9 + 0x24) = uVar7;" (assignment_expression "*(uint *)(iVar9 + 0x24) = uVar7" (pointer_expression "*(uint *)(iVar9 + 0x24)" * (cast_expression "(uint *)(iVar9 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar8 = uVar7;" (assignment_expression "uVar8 = uVar7" identifier = identifier) ;) })) (expression_statement "*(uint *)(iVar9 + 0x20) = uVar8;" (assignment_expression "*(uint *)(iVar9 + 0x20) = uVar8" (pointer_expression "*(uint *)(iVar9 + 0x20)" * (cast_expression "(uint *)(iVar9 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*local_40 = *puVar14;" (assignment_expression "*local_40 = *puVar14" (pointer_expression "*local_40" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "local_40[0x14] = puVar14[0x14];" (assignment_expression "local_40[0x14] = puVar14[0x14]" (subscript_expression "local_40[0x14]" identifier [ number_literal ]) = (subscript_expression "puVar14[0x14]" identifier [ number_literal ])) ;) (expression_statement "iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);" (assignment_expression "iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc)" identifier = (binary_expression "(int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc)" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(local_40 + 1) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(local_40 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_40 + 1) & 0xfffffffc" (call_expression "(uint)(local_40 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_40 + 1)" ( (binary_expression "local_40 + 1" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "puVar16 = (undefined4 *)((int)puVar14 - iVar9);" (assignment_expression "puVar16 = (undefined4 *)((int)puVar14 - iVar9)" identifier = (cast_expression "(undefined4 *)((int)puVar14 - iVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 - iVar9)" ( (binary_expression "(int)puVar14 - iVar9" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);" (assignment_expression "puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(local_40 + 1) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(local_40 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_40 + 1) & 0xfffffffc" (call_expression "(uint)(local_40 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_40 + 1)" ( (binary_expression "local_40 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }" for ( (assignment_expression "uVar7 = iVar9 + 0x54U >> 2" identifier = (binary_expression "iVar9 + 0x54U >> 2" (binary_expression "iVar9 + 0x54U" identifier + number_literal) >> number_literal)) ; (binary_expression "uVar7 != 0" identifier != number_literal) ; (assignment_expression "uVar7 = uVar7 - 1" identifier = (binary_expression "uVar7 - 1" identifier - number_literal)) ) (compound_statement "{\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }" { (expression_statement "*puVar17 = *puVar16;" (assignment_expression "*puVar17 = *puVar16" (pointer_expression "*puVar17" * identifier) = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "puVar16 = puVar16 + (uint)bVar18 * -2 + 1;" (assignment_expression "puVar16 = puVar16 + (uint)bVar18 * -2 + 1" identifier = (binary_expression "puVar16 + (uint)bVar18 * -2 + 1" (binary_expression "puVar16 + (uint)bVar18 * -2" identifier + (binary_expression "(uint)bVar18 * -2" (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar17 = puVar17 + (uint)bVar18 * -2 + 1;" (assignment_expression "puVar17 = puVar17 + (uint)bVar18 * -2 + 1" identifier = (binary_expression "puVar17 + (uint)bVar18 * -2 + 1" (binary_expression "puVar17 + (uint)bVar18 * -2" identifier + (binary_expression "(uint)bVar18 * -2" (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);" (call_expression "memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3])" identifier (argument_list "(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3])" ( (binary_expression "local_40 + 0x15" identifier + number_literal) , (cast_expression "(void *)((int)puVar14 + puVar14[2] + 0x54)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + puVar14[2] + 0x54)" ( (binary_expression "(int)puVar14 + puVar14[2] + 0x54" (binary_expression "(int)puVar14 + puVar14[2]" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "puVar14[2]" identifier [ number_literal ])) + number_literal) ))) , (subscript_expression "puVar14[3]" identifier [ number_literal ]) ))) ;) (expression_statement "uStack_34 = uVar6 + puVar14[2] + uStack_34;" (assignment_expression "uStack_34 = uVar6 + puVar14[2] + uStack_34" identifier = (binary_expression "uVar6 + puVar14[2] + uStack_34" (binary_expression "uVar6 + puVar14[2]" identifier + (subscript_expression "puVar14[2]" identifier [ number_literal ])) + identifier)) ;) (expression_statement "uVar7 = puVar14[4];" (assignment_expression "uVar7 = puVar14[4]" identifier = (subscript_expression "puVar14[4]" identifier [ number_literal ])) ;) (expression_statement "local_40[0xc] = 1;" (assignment_expression "local_40[0xc] = 1" (subscript_expression "local_40[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*local_40 = uStack_34;" (assignment_expression "*local_40 = uStack_34" (pointer_expression "*local_40" * identifier) = identifier) ;) (expression_statement "local_40[2] = 0;" (assignment_expression "local_40[2] = 0" (subscript_expression "local_40[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];" (assignment_expression "uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3]" identifier = (binary_expression "(1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3]" (parenthesized_expression "(1 << ((byte)uVar7 & 0x1f))" ( (binary_expression "1 << ((byte)uVar7 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar7 & 0x1f)" ( (binary_expression "(byte)uVar7 & 0x1f" (cast_expression "(byte)uVar7" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) / (cast_expression "(int)puVar14[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar14[3]" identifier [ number_literal ])))) ;) (expression_statement "local_40[4] = uVar7;" (assignment_expression "local_40[4] = uVar7" (subscript_expression "local_40[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar8 = 1 << ((byte)puVar14[4] & 0x1f);" (assignment_expression "uVar8 = 1 << ((byte)puVar14[4] & 0x1f)" identifier = (binary_expression "1 << ((byte)puVar14[4] & 0x1f)" number_literal << (parenthesized_expression "((byte)puVar14[4] & 0x1f)" ( (binary_expression "(byte)puVar14[4] & 0x1f" (cast_expression "(byte)puVar14[4]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar14[4]" identifier [ number_literal ])) & number_literal) )))) ;) (if_statement "if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }" if (parenthesized_expression "(uVar15 * uVar7 - uVar8 == 0)" ( (binary_expression "uVar15 * uVar7 - uVar8 == 0" (binary_expression "uVar15 * uVar7 - uVar8" (binary_expression "uVar15 * uVar7" identifier * identifier) - identifier) == number_literal) )) (compound_statement "{\n            uVar8 = uVar7 * local_40[3];\n          }" { (expression_statement "uVar8 = uVar7 * local_40[3];" (assignment_expression "uVar8 = uVar7 * local_40[3]" identifier = (binary_expression "uVar7 * local_40[3]" identifier * (subscript_expression "local_40[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }" else (compound_statement "{\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }" { (expression_statement "local_40[4] = uVar8;" (assignment_expression "local_40[4] = uVar8" (subscript_expression "local_40[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_40[3] = 1;" (assignment_expression "local_40[3] = 1" (subscript_expression "local_40[3]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "uStack_38 = uStack_38 + uVar8;" (assignment_expression "uStack_38 = uStack_38 + uVar8" identifier = (binary_expression "uStack_38 + uVar8" identifier + identifier)) ;) (expression_statement "*local_40 = uStack_34 - (uStack_38 + local_4c);" (assignment_expression "*local_40 = uStack_34 - (uStack_38 + local_4c)" (pointer_expression "*local_40" * identifier) = (binary_expression "uStack_34 - (uStack_38 + local_4c)" identifier - (parenthesized_expression "(uStack_38 + local_4c)" ( (binary_expression "uStack_38 + local_4c" identifier + identifier) )))) ;) (expression_statement "*(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;" (assignment_expression "*(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1" (pointer_expression "*(byte *)((int)local_40 + 0x2e)" * (cast_expression "(byte *)((int)local_40 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_40 + 0x2e)" ( (binary_expression "(int)local_40 + 0x2e" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1" (binary_expression "*(byte *)((int)local_40 + 0x2e) & 0xfe" (pointer_expression "*(byte *)((int)local_40 + 0x2e)" * (cast_expression "(byte *)((int)local_40 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_40 + 0x2e)" ( (binary_expression "(int)local_40 + 0x2e" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "*(byte *)((int)local_40 + 0x2e) & 1 ^ 1" (binary_expression "*(byte *)((int)local_40 + 0x2e) & 1" (pointer_expression "*(byte *)((int)local_40 + 0x2e)" * (cast_expression "(byte *)((int)local_40 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_40 + 0x2e)" ( (binary_expression "(int)local_40 + 0x2e" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) ^ number_literal))) ;) (expression_statement "puVar14[7] = (uint)local_40;" (assignment_expression "puVar14[7] = (uint)local_40" (subscript_expression "puVar14[7]" identifier [ number_literal ]) = (cast_expression "(uint)local_40" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto code_r0x0003da0f;" goto statement_identifier ;) })) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "local_4c = local_4c + uStack_38;" (assignment_expression "local_4c = local_4c + uStack_38" identifier = (binary_expression "local_4c + uStack_38" identifier + identifier)) ;) (goto_statement "goto joined_r0x0003d74b;" goto statement_identifier ;)) (case_statement "case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;" case number_literal : (if_statement "if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }" { (expression_statement "iVar9 = FUN_00036e00(uVar8);" (assignment_expression "iVar9 = FUN_00036e00(uVar8)" identifier = (call_expression "FUN_00036e00(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (if_statement "if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }" if (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x1c) != 0" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }" { (expression_statement "FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");" (call_expression "FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment")" identifier (argument_list "("../../gas/write.c",0xb80,"relax_segment")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""relax_segment"" " string_content ") ))) ;) })) (expression_statement "iVar9 = FUN_00038490(uVar8);" (assignment_expression "iVar9 = FUN_00038490(uVar8)" identifier = (call_expression "FUN_00038490(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "uStack_38 = uStack_38 + iVar9;" (assignment_expression "uStack_38 = uStack_38 + iVar9" identifier = (binary_expression "uStack_38 + iVar9" identifier + identifier)) ;) })) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (if_statement "if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }" if (parenthesized_expression "(local_40 == (uint *)0x0)" ( (binary_expression "local_40 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }" { (expression_statement "FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");" (call_expression "FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment")" identifier (argument_list "("../../gas/write.c",0xb84,"relax_segment")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""relax_segment"" " string_content ") ))) ;) })) (expression_statement "uVar7 = *local_40;" (assignment_expression "uVar7 = *local_40" identifier = (pointer_expression "*local_40" * identifier)) ;) (if_statement "if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }" if (parenthesized_expression "(uVar6 + puVar14[2] <= uStack_38)" ( (binary_expression "uVar6 + puVar14[2] <= uStack_38" (binary_expression "uVar6 + puVar14[2]" identifier + (subscript_expression "puVar14[2]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }" { (expression_statement "uStack_38 = uStack_38 - (uVar7 + local_4c);" (assignment_expression "uStack_38 = uStack_38 - (uVar7 + local_4c)" identifier = (binary_expression "uStack_38 - (uVar7 + local_4c)" identifier - (parenthesized_expression "(uVar7 + local_4c)" ( (binary_expression "uVar7 + local_4c" identifier + identifier) )))) ;) (labeled_statement "code_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }" statement_identifier : (if_statement "if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }" if (parenthesized_expression "(uStack_38 != 0)" ( (binary_expression "uStack_38 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }" { (expression_statement "uVar7 = puVar14[0xc];" (assignment_expression "uVar7 = puVar14[0xc]" identifier = (subscript_expression "puVar14[0xc]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x0003d73c;" goto statement_identifier ;) }))) (goto_statement "goto code_r0x0003d70f;" goto statement_identifier ;) })) (if_statement "if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }" if (parenthesized_expression "(1 < param_3)" ( (binary_expression "1 < param_3" number_literal < identifier) )) (compound_statement "{\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }" { (expression_statement "uVar13 = dcgettext(0,"attempt to move .org backwards",5);" (assignment_expression "uVar13 = dcgettext(0,"attempt to move .org backwards",5)" identifier = (call_expression "dcgettext(0,"attempt to move .org backwards",5)" identifier (argument_list "(0,"attempt to move .org backwards",5)" ( number_literal , (string_literal ""attempt to move .org backwards"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);" (call_expression "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13)" identifier (argument_list "(puVar14[8],puVar14[9],uVar13)" ( (subscript_expression "puVar14[8]" identifier [ number_literal ]) , (subscript_expression "puVar14[9]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "puVar14[0xc] = 2;" (assignment_expression "puVar14[0xc] = 2" (subscript_expression "puVar14[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14[0xd] = 0;" (assignment_expression "puVar14[0xd] = 0" (subscript_expression "puVar14[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14[4] = 0;" (assignment_expression "puVar14[4] = 0" (subscript_expression "puVar14[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14[2] = uVar7 - uVar15;" (assignment_expression "puVar14[2] = uVar7 - uVar15" (subscript_expression "puVar14[2]" identifier [ number_literal ]) = (binary_expression "uVar7 - uVar15" identifier - identifier)) ;) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (goto_statement "goto joined_r0x0003d763;" goto statement_identifier ;) })) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) (expression_statement "puVar14 = local_40;" (assignment_expression "puVar14 = local_40" identifier = identifier) ;) (expression_statement "uVar15 = uVar7;" (assignment_expression "uVar15 = uVar7" identifier = identifier) ;) (goto_statement "goto code_r0x0003d598;" goto statement_identifier ;)) (case_statement "case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;" case number_literal : (expression_statement "uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);" (assignment_expression "uStack_38 = FUN_0003d290(param_2,puVar14,local_4c)" identifier = (call_expression "FUN_0003d290(param_2,puVar14,local_4c)" identifier (argument_list "(param_2,puVar14,local_4c)" ( identifier , identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 8:" case number_literal :) (case_statement "case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;" case number_literal : (if_statement "if (uVar8 == 0) goto code_r0x0003d708;" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x0003d708;" goto statement_identifier ;)) (expression_statement "iVar9 = FUN_00038490(uVar8);" (assignment_expression "iVar9 = FUN_00038490(uVar8)" identifier = (call_expression "FUN_00038490(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "puVar11 = (undefined *)FUN_00036e00(uVar8);" (assignment_expression "puVar11 = (undefined *)FUN_00036e00(uVar8)" identifier = (cast_expression "(undefined *)FUN_00036e00(uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00036e00(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))))) ;) (if_statement "if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }" if (parenthesized_expression "(((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0))" ( (binary_expression "((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)" (parenthesized_expression "((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0))" ( (binary_expression "(puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)" (parenthesized_expression "(puVar11 == puVar5)" ( (binary_expression "puVar11 == puVar5" identifier == identifier) )) && (parenthesized_expression "(iVar12 = FUN_000369b0(uVar8), iVar12 == 0)" ( (comma_expression "iVar12 = FUN_000369b0(uVar8), iVar12 == 0" (assignment_expression "iVar12 = FUN_000369b0(uVar8)" identifier = (call_expression "FUN_000369b0(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) , (binary_expression "iVar12 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(iVar12 = FUN_00036a00(uVar8), iVar12 != 0)" ( (comma_expression "iVar12 = FUN_00036a00(uVar8), iVar12 != 0" (assignment_expression "iVar12 = FUN_00036a00(uVar8)" identifier = (call_expression "FUN_00036a00(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) , (binary_expression "iVar12 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }" { (if_statement "if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }" if (parenthesized_expression "(-1 < iVar9)" ( (binary_expression "-1 < iVar9" number_literal < identifier) )) (compound_statement "{\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }" { (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;" (assignment_expression "uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9" identifier = (binary_expression "((puVar14[2] + uVar15) - *local_40) + iVar9" (parenthesized_expression "((puVar14[2] + uVar15) - *local_40)" ( (binary_expression "(puVar14[2] + uVar15) - *local_40" (parenthesized_expression "(puVar14[2] + uVar15)" ( (binary_expression "puVar14[2] + uVar15" (subscript_expression "puVar14[2]" identifier [ number_literal ]) + identifier) )) - (pointer_expression "*local_40" * identifier)) )) + identifier)) ;) (goto_statement "goto code_r0x0003da0f;" goto statement_identifier ;) })) (if_statement "if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }" if (parenthesized_expression "(param_3 < 2)" ( (binary_expression "param_3 < 2" identifier < number_literal) )) (compound_statement "{\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }" { (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) }) (else_clause "else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }" else (compound_statement "{\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }" { (expression_statement "uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);" (assignment_expression "uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5)" identifier = (call_expression "dcgettext(0,".space, .nops or .fill with negative value, ignored",5)" identifier (argument_list "(0,".space, .nops or .fill with negative value, ignored",5)" ( number_literal , (string_literal "".space, .nops or .fill with negative value, ignored"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002a910(puVar14[8],puVar14[9],uVar13);" (call_expression "FUN_0002a910(puVar14[8],puVar14[9],uVar13)" identifier (argument_list "(puVar14[8],puVar14[9],uVar13)" ( (subscript_expression "puVar14[8]" identifier [ number_literal ]) , (subscript_expression "puVar14[9]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "puVar14[5] = 0;" (assignment_expression "puVar14[5] = 0" (subscript_expression "puVar14[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) }))) }) (else_clause "else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }" else (compound_statement "{\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }" { (expression_statement "uVar13 = dcgettext(0,".space specifies non-absolute value",5);" (assignment_expression "uVar13 = dcgettext(0,".space specifies non-absolute value",5)" identifier = (call_expression "dcgettext(0,".space specifies non-absolute value",5)" identifier (argument_list "(0,".space specifies non-absolute value",5)" ( number_literal , (string_literal "".space specifies non-absolute value"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);" (call_expression "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13)" identifier (argument_list "(puVar14[8],puVar14[9],uVar13)" ( (subscript_expression "puVar14[8]" identifier [ number_literal ]) , (subscript_expression "puVar14[9]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "puVar14[5] = 0;" (assignment_expression "puVar14[5] = 0" (subscript_expression "puVar14[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) }))) (goto_statement "goto joined_r0x0003d763;" goto statement_identifier ;)) (case_statement "case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;" case number_literal : (expression_statement "uVar13 = FUN_00037320(uVar8);" (assignment_expression "uVar13 = FUN_00037320(uVar8)" identifier = (call_expression "FUN_00037320(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "uVar15 = FUN_00030420(uVar13,puVar14[0xd]);" (assignment_expression "uVar15 = FUN_00030420(uVar13,puVar14[0xd])" identifier = (call_expression "FUN_00030420(uVar13,puVar14[0xd])" identifier (argument_list "(uVar13,puVar14[0xd])" ( identifier , (subscript_expression "puVar14[0xd]" identifier [ number_literal ]) )))) ;) (expression_statement "uStack_38 = uVar15 - puVar14[4];" (assignment_expression "uStack_38 = uVar15 - puVar14[4]" identifier = (binary_expression "uVar15 - puVar14[4]" identifier - (subscript_expression "puVar14[4]" identifier [ number_literal ]))) ;) (expression_statement "puVar14[4] = uVar15;" (assignment_expression "puVar14[4] = uVar15" (subscript_expression "puVar14[4]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;" case number_literal : (expression_statement "uStack_38 = FUN_0001fe60(puVar14);" (assignment_expression "uStack_38 = FUN_0001fe60(puVar14)" identifier = (call_expression "FUN_0001fe60(puVar14)" identifier (argument_list "(puVar14)" ( identifier )))) ;) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (goto_statement "goto joined_r0x0003d971;" goto statement_identifier ;)) (case_statement "case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);" case number_literal : (expression_statement "uStack_38 = FUN_0001b9b0(puVar14);" (assignment_expression "uStack_38 = FUN_0001b9b0(puVar14)" identifier = (call_expression "FUN_0001b9b0(puVar14)" identifier (argument_list "(puVar14)" ( identifier )))) ;)) })) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" identifier = (cast_expression "(uint *)puVar14[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[7]" identifier [ number_literal ]))) ;) (labeled_statement "joined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }" statement_identifier : (if_statement "if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }" if (parenthesized_expression "(uStack_38 != 0)" ( (binary_expression "uStack_38 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }" { (expression_statement "uVar7 = puVar14[0xc];" (assignment_expression "uVar7 = puVar14[0xc]" identifier = (subscript_expression "puVar14[0xc]" identifier [ number_literal ])) ;) (labeled_statement "code_r0x0003d73c:\n        local_4c = local_4c + uStack_38;" statement_identifier : (expression_statement "local_4c = local_4c + uStack_38;" (assignment_expression "local_4c = local_4c + uStack_38" identifier = (binary_expression "local_4c + uStack_38" identifier + identifier)) ;)) (if_statement "if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }" if (parenthesized_expression "(uVar7 == 0xb)" ( (binary_expression "uVar7 == 0xb" identifier == number_literal) )) (compound_statement "{\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }" { (expression_statement "uStack_44 = uStack_44 + 0x10;" (assignment_expression "uStack_44 = uStack_44 + 0x10" identifier = (binary_expression "uStack_44 + 0x10" identifier + number_literal)) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) }) (else_clause "else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }" else (compound_statement "{\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }" { (labeled_statement "joined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }" statement_identifier : (if_statement "if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }" if (parenthesized_expression "(((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0))" ( (binary_expression "((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)" (parenthesized_expression "((uVar7 == 2) && ((uStack_44 & 0x10) != 0))" ( (binary_expression "(uVar7 == 2) && ((uStack_44 & 0x10) != 0)" (parenthesized_expression "(uVar7 == 2)" ( (binary_expression "uVar7 == 2" identifier == number_literal) )) && (parenthesized_expression "((uStack_44 & 0x10) != 0)" ( (binary_expression "(uStack_44 & 0x10) != 0" (parenthesized_expression "(uStack_44 & 0x10)" ( (binary_expression "uStack_44 & 0x10" identifier & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) ))) )) (compound_statement "{\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }" { (expression_statement "uStack_44 = uStack_44 + 0x10;" (assignment_expression "uStack_44 = uStack_44 + 0x10" identifier = (binary_expression "uStack_44 + 0x10" identifier + number_literal)) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) }) (else_clause "else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }" else (compound_statement "{\n            uStack_44 = 0;\n            bVar4 = true;\n          }" { (expression_statement "uStack_44 = 0;" (assignment_expression "uStack_44 = 0" identifier = number_literal) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) })))) }))) }))) (labeled_statement "joined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }" statement_identifier : (if_statement "if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }" if (parenthesized_expression "(local_40 != (uint *)0x0)" ( (binary_expression "local_40 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }" { (labeled_statement "code_r0x0003d70f:\n        puVar14 = local_40;" statement_identifier : (expression_statement "puVar14 = local_40;" (assignment_expression "puVar14 = local_40" identifier = identifier) ;)) (expression_statement "uVar15 = *local_40;" (assignment_expression "uVar15 = *local_40" identifier = (pointer_expression "*local_40" * identifier)) ;) (goto_statement "goto code_r0x0003d598;" goto statement_identifier ;) }))) (if_statement "if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }" if (parenthesized_expression "(local_4c == 0 && (uStack_44 & 0x10) == 0)" ( (binary_expression "local_4c == 0 && (uStack_44 & 0x10) == 0" (binary_expression "local_4c == 0" identifier == number_literal) && (binary_expression "(uStack_44 & 0x10) == 0" (parenthesized_expression "(uStack_44 & 0x10)" ( (binary_expression "uStack_44 & 0x10" identifier & number_literal) )) == number_literal)) )) (compound_statement "{\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }" { (expression_statement "uVar15 = uStack_44 + 1;" (assignment_expression "uVar15 = uStack_44 + 1" identifier = (binary_expression "uStack_44 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = uStack_44 & 0xfffffff0;" (assignment_expression "uVar7 = uStack_44 & 0xfffffff0" identifier = (binary_expression "uStack_44 & 0xfffffff0" identifier & number_literal)) ;) (expression_statement "uStack_44 = 0;" (assignment_expression "uStack_44 = 0" identifier = number_literal) ;) (if_statement "if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          uStack_44 = uVar15;\n        }" { (expression_statement "uStack_44 = uVar15;" (assignment_expression "uStack_44 = uVar15" identifier = identifier) ;) })) }) (else_clause "else {\n        uStack_44 = 0;\n      }" else (compound_statement "{\n        uStack_44 = 0;\n      }" { (expression_statement "uStack_44 = 0;" (assignment_expression "uStack_44 = 0" identifier = number_literal) ;) }))) (if_statement "if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }" if (parenthesized_expression "(!bVar4)" ( (unary_expression "!bVar4" ! identifier) )) (compound_statement "{\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }" { (do_statement "do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);" do (compound_statement "{\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        }" { (if_statement "if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }" if (parenthesized_expression "(param_1[1] != *param_1)" ( (binary_expression "param_1[1] != *param_1" (subscript_expression "param_1[1]" identifier [ number_literal ]) != (pointer_expression "*param_1" * identifier)) )) (compound_statement "{\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }" { (expression_statement "param_1[1] = *param_1;" (assignment_expression "param_1[1] = *param_1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) })) (expression_statement "param_1 = (uint *)param_1[7];" (assignment_expression "param_1 = (uint *)param_1[7]" identifier = (cast_expression "(uint *)param_1[7]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[7]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(param_1 != (uint *)0x0)" ( (binary_expression "param_1 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (return_statement "return local_2c;" return identifier ;) })) (expression_statement "uStack_28 = uStack_28 - 1;" (assignment_expression "uStack_28 = uStack_28 - 1" identifier = (binary_expression "uStack_28 - 1" identifier - number_literal)) ;) (if_statement "if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }" if (parenthesized_expression "(uStack_28 == 0)" ( (binary_expression "uStack_28 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }" { (expression_statement "uVar13 = *param_2;" (assignment_expression "uVar13 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);" (assignment_expression "uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2)" identifier = (call_expression "dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2)" identifier (argument_list "(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2)" ( number_literal , (string_literal ""Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"" " string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002aa20(uVar10,uVar13);" (call_expression "FUN_0002aa20(uVar10,uVar13)" identifier (argument_list "(uVar10,uVar13)" ( identifier , identifier ))) ;) })) })) }))) (return_statement "return local_2c;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier short) 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_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) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , (string_literal " string_content ") ))) ;)) (case_statement case LIT : (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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) * (pointer_expression * IDENT)) + IDENT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (unary_expression ~ IDENT) + IDENT) & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT <= (subscript_expression IDENT [ LIT ])) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT % IDENT) != LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (binary_expression IDENT % (subscript_expression IDENT [ LIT ])))) ;) }))) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (break_statement break ;)) (case_statement case 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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (break_statement break ;)) (case_statement case 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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_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) + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) | (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) ^ LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , (string_literal " string_content ") ))) ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (unary_expression ~ IDENT)) & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (unary_expression ~ IDENT) + IDENT) + (subscript_expression IDENT [ LIT ])) & IDENT) )) - (parenthesized_expression ( (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + IDENT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT - IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + IDENT)) ;) }))))))) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_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 (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) & (unary_expression ~ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (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 + LIT) >> 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 (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (subscript_expression IDENT [ LIT ])) + LIT) ))) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )) / (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) - IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT - (parenthesized_expression ( (binary_expression 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) + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) | (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) ^ LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (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 (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (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 ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (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 ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (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 LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )) - (pointer_expression * IDENT)) )) + IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }))) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (break_statement break ;)) (case_statement case 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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;)) (case_statement case 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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) })))) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) )) (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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) })) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 FUN_0003d490(uint *param_1,undefined4 *param_2,int param_3)\n\n{\n  uint *puVar1;\n  uint *puVar2;\n  short sVar3;\n  bool bVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  int iVar12;\n  undefined4 uVar13;\n  uint *puVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  byte bVar18;\n  int local_4c;\n  uint uStack_44;\n  uint *local_40;\n  uint uStack_38;\n  uint uStack_34;\n  undefined4 local_2c;\n  uint uStack_28;\n  \n  bVar18 = 0;\n  FUN_00034dd0(param_2,0);\n  if (param_1 == (uint *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }\n  return local_2c;\n}" (type_identifier "undefined4") (function_declarator "FUN_0003d490(uint *param_1,undefined4 *param_2,int param_3)" (identifier "FUN_0003d490") (parameter_list "(uint *param_1,undefined4 *param_2,int param_3)" (( "(") (parameter_declaration "uint *param_1" (type_identifier "uint") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  uint *puVar1;\n  uint *puVar2;\n  short sVar3;\n  bool bVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  int iVar12;\n  undefined4 uVar13;\n  uint *puVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  byte bVar18;\n  int local_4c;\n  uint uStack_44;\n  uint *local_40;\n  uint uStack_38;\n  uint uStack_34;\n  undefined4 local_2c;\n  uint uStack_28;\n  \n  bVar18 = 0;\n  FUN_00034dd0(param_2,0);\n  if (param_1 == (uint *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }\n  return local_2c;\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint *puVar2;" (type_identifier "uint") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "short sVar3;" (sized_type_specifier "short" (short "short")) (identifier "sVar3") (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "uint *puVar14;" (type_identifier "uint") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "undefined4 *puVar16;" (type_identifier "undefined4") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "byte bVar18;" (type_identifier "byte") (identifier "bVar18") (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "uint uStack_44;" (type_identifier "uint") (identifier "uStack_44") (; ";")) (declaration "uint *local_40;" (type_identifier "uint") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "uint uStack_38;" (type_identifier "uint") (identifier "uStack_38") (; ";")) (declaration "uint uStack_34;" (type_identifier "uint") (identifier "uStack_34") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "uint uStack_28;" (type_identifier "uint") (identifier "uStack_28") (; ";")) (expression_statement "bVar18 = 0;" (assignment_expression "bVar18 = 0" (identifier "bVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00034dd0(param_2,0);" (call_expression "FUN_00034dd0(param_2,0)" (identifier "FUN_00034dd0") (argument_list "(param_2,0)" (( "(") (identifier "param_2") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (param_1 == (uint *)0x0) {\n    local_2c = 0;\n  }\n  else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == (uint *)0x0)" (( "(") (binary_expression "param_1 == (uint *)0x0" (identifier "param_1") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_2c = 0;\n  }" ({ "{") (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" (identifier "local_2c") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }" (else "else") (compound_statement "{\n    sVar3 = 0;\n    uVar15 = 0;\n    puVar14 = param_1;\n    iVar9 = 0;\n    do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);\n    uVar15 = iVar12 + 1;\n    uStack_44 = 0;\n    local_2c = 0;\n    uStack_28 = uVar15 * uVar15;\n    if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }\n    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;\n    while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }\n  }" ({ "{") (expression_statement "sVar3 = 0;" (assignment_expression "sVar3 = 0" (identifier "sVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar14 = param_1;" (assignment_expression "puVar14 = param_1" (identifier "puVar14") (= "=") (identifier "param_1")) (; ";")) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    } while (puVar14 != (uint *)0x0);" (do "do") (compound_statement "{\n      iVar12 = iVar9;\n      *puVar14 = uVar15;\n      uVar15 = uVar15 + puVar14[2];\n      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;\n      *(short *)(puVar14 + 0xb) = sVar3;\n      uVar7 = puVar14[0xc];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }\n      iVar9 = iVar12 + 1;\n    }" ({ "{") (expression_statement "iVar12 = iVar9;" (assignment_expression "iVar12 = iVar9" (identifier "iVar12") (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*puVar14 = uVar15;" (assignment_expression "*puVar14 = uVar15" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "uVar15 = uVar15 + puVar14[2];" (assignment_expression "uVar15 = uVar15 + puVar14[2]" (identifier "uVar15") (= "=") (binary_expression "uVar15 + puVar14[2]" (identifier "uVar15") (+ "+") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "*(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;" (assignment_expression "*(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" (* "*") (cast_expression "(byte *)((int)puVar14 + 0x2e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x2e)" (( "(") (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x2e")) () ")")))) (= "=") (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 0xfe" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" (* "*") (cast_expression "(byte *)((int)puVar14 + 0x2e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x2e)" (( "(") (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x2e")) () ")")))) (& "&") (number_literal "0xfe"))) (; ";")) (expression_statement "*(short *)(puVar14 + 0xb) = sVar3;" (assignment_expression "*(short *)(puVar14 + 0xb) = sVar3" (pointer_expression "*(short *)(puVar14 + 0xb)" (* "*") (cast_expression "(short *)(puVar14 + 0xb)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + 0xb)" (( "(") (binary_expression "puVar14 + 0xb" (identifier "puVar14") (+ "+") (number_literal "0xb")) () ")")))) (= "=") (identifier "sVar3")) (; ";")) (expression_statement "uVar7 = puVar14[0xc];" (assignment_expression "uVar7 = puVar14[0xc]" (identifier "uVar7") (= "=") (subscript_expression "puVar14[0xc]" (identifier "puVar14") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (switch_statement "switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }" (switch "switch") (parenthesized_expression "(uVar7)" (( "(") (identifier "uVar7") () ")")) (compound_statement "{\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");\n      case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;\n      case 2:\n      case 3:\n      case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }\n      case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;\n      case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;\n      case 8:\n      case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;\n      case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;\n      case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;\n      case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n      }" ({ "{") (case_statement "default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");" (default "default") (: ":") (expression_statement "uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);" (assignment_expression "uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" (identifier "uVar13") (= "=") (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" (identifier "dcgettext") (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" (" """) (string_content "Case value %ld unexpected at line %d of file ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");" (call_expression "FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c")" (identifier "FUN_0002aa20") (argument_list "(uVar13,uVar7,0xaa0,"../../gas/write.c")" (( "(") (identifier "uVar13") (, ",") (identifier "uVar7") (, ",") (number_literal "0xaa0") (, ",") (string_literal ""../../gas/write.c"" (" """) (string_content "../../gas/write.c") (" """)) () ")"))) (; ";"))) (case_statement "case 1:\n        puVar1 = puVar14 + 4;\n        puVar2 = puVar14 + 3;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = *puVar1 * *puVar2 + uVar15;\n        break;" (case "case") (number_literal "1") (: ":") (expression_statement "puVar1 = puVar14 + 4;" (assignment_expression "puVar1 = puVar14 + 4" (identifier "puVar1") (= "=") (binary_expression "puVar14 + 4" (identifier "puVar14") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar2 = puVar14 + 3;" (assignment_expression "puVar2 = puVar14 + 3" (identifier "puVar2") (= "=") (binary_expression "puVar14 + 3" (identifier "puVar14") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" (identifier "puVar14") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "uVar15 = *puVar1 * *puVar2 + uVar15;" (assignment_expression "uVar15 = *puVar1 * *puVar2 + uVar15" (identifier "uVar15") (= "=") (binary_expression "*puVar1 * *puVar2 + uVar15" (binary_expression "*puVar1 * *puVar2" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (* "*") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (+ "+") (identifier "uVar15"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:" (case "case") (number_literal "2") (: ":")) (case_statement "case 3:" (case "case") (number_literal "3") (: ":")) (case_statement "case 4:\n        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);\n        uVar7 = ~uVar7 + uVar15 & uVar7;\n        uVar8 = uVar7 - uVar15;\n        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }" (case "case") (number_literal "4") (: ":") (expression_statement "uVar7 = -1 << ((byte)puVar14[4] & 0x1f);" (assignment_expression "uVar7 = -1 << ((byte)puVar14[4] & 0x1f)" (identifier "uVar7") (= "=") (binary_expression "-1 << ((byte)puVar14[4] & 0x1f)" (number_literal "-1") (<< "<<") (parenthesized_expression "((byte)puVar14[4] & 0x1f)" (( "(") (binary_expression "(byte)puVar14[4] & 0x1f" (cast_expression "(byte)puVar14[4]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]"))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar7 = ~uVar7 + uVar15 & uVar7;" (assignment_expression "uVar7 = ~uVar7 + uVar15 & uVar7" (identifier "uVar7") (= "=") (binary_expression "~uVar7 + uVar15 & uVar7" (binary_expression "~uVar7 + uVar15" (unary_expression "~uVar7" (~ "~") (identifier "uVar7")) (+ "+") (identifier "uVar15")) (& "&") (identifier "uVar7"))) (; ";")) (expression_statement "uVar8 = uVar7 - uVar15;" (assignment_expression "uVar8 = uVar7 - uVar15" (identifier "uVar8") (= "=") (binary_expression "uVar7 - uVar15" (identifier "uVar7") (- "-") (identifier "uVar15"))) (; ";")) (if_statement "if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }" (if "if") (parenthesized_expression "(((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0))" (( "(") (binary_expression "((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&\n           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)" (parenthesized_expression "((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd]))" (( "(") (binary_expression "(puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])" (parenthesized_expression "(puVar14[0xd] == 0)" (( "(") (binary_expression "puVar14[0xd] == 0" (subscript_expression "puVar14[0xd]" (identifier "puVar14") ([ "[") (number_literal "0xd") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar8 <= puVar14[0xd])" (( "(") (binary_expression "uVar8 <= puVar14[0xd]" (identifier "uVar8") (<= "<=") (subscript_expression "puVar14[0xd]" (identifier "puVar14") ([ "[") (number_literal "0xd") (] "]"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)" (( "(") (comma_expression "uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0" (assignment_expression "uVar6 = puVar14[3]" (identifier "uVar6") (= "=") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]"))) (, ",") (comma_expression "uVar15 = uVar7, uVar8 % uVar6 != 0" (assignment_expression "uVar15 = uVar7" (identifier "uVar15") (= "=") (identifier "uVar7")) (, ",") (binary_expression "uVar8 % uVar6 != 0" (binary_expression "uVar8 % uVar6" (identifier "uVar8") (% "%") (identifier "uVar6")) (!= "!=") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);\n          uVar15 = uVar7 - uVar8 % puVar14[3];\n        }" ({ "{") (expression_statement "uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);" (assignment_expression "uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5)" (identifier "uVar13") (= "=") (call_expression "dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5)" (identifier "dcngettext") (argument_list "(0,"alignment padding (%lu byte) not a multiple of %ld",\n                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5)" (( "(") (number_literal "0") (, ",") (string_literal ""alignment padding (%lu byte) not a multiple of %ld"" (" """) (string_content "alignment padding (%lu byte) not a multiple of %ld") (" """)) (, ",") (string_literal ""alignment padding (%lu bytes) not a multiple of %ld"" (" """) (string_content "alignment padding (%lu bytes) not a multiple of %ld") (" """)) (, ",") (identifier "uVar8") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);" (call_expression "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6)" (identifier "FUN_0002a9d0") (argument_list "(puVar14[8],puVar14[9],uVar13,uVar8,uVar6)" (( "(") (subscript_expression "puVar14[8]" (identifier "puVar14") ([ "[") (number_literal "8") (] "]")) (, ",") (subscript_expression "puVar14[9]" (identifier "puVar14") ([ "[") (number_literal "9") (] "]")) (, ",") (identifier "uVar13") (, ",") (identifier "uVar8") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "uVar15 = uVar7 - uVar8 % puVar14[3];" (assignment_expression "uVar15 = uVar7 - uVar8 % puVar14[3]" (identifier "uVar15") (= "=") (binary_expression "uVar7 - uVar8 % puVar14[3]" (identifier "uVar7") (- "-") (binary_expression "uVar8 % puVar14[3]" (identifier "uVar8") (% "%") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]"))))) (; ";")) (} "}")))) (case_statement "case 5:\n        puVar14 = (uint *)puVar14[7];\n        sVar3 = sVar3 + 1;\n        break;" (case "case") (number_literal "5") (: ":") (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" (identifier "puVar14") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "sVar3 = sVar3 + 1;" (assignment_expression "sVar3 = sVar3 + 1" (identifier "sVar3") (= "=") (binary_expression "sVar3 + 1" (identifier "sVar3") (+ "+") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 7:\n        if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }\n        iVar9 = FUN_0004e530(puVar14,param_2);\n        uVar15 = uVar15 + iVar9;" (case "case") (number_literal "7") (: ":") (if_statement "if (puVar14[5] != 0) {\n          FUN_00037320(puVar14[5]);\n        }" (if "if") (parenthesized_expression "(puVar14[5] != 0)" (( "(") (binary_expression "puVar14[5] != 0" (subscript_expression "puVar14[5]" (identifier "puVar14") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00037320(puVar14[5]);\n        }" ({ "{") (expression_statement "FUN_00037320(puVar14[5]);" (call_expression "FUN_00037320(puVar14[5])" (identifier "FUN_00037320") (argument_list "(puVar14[5])" (( "(") (subscript_expression "puVar14[5]" (identifier "puVar14") ([ "[") (number_literal "5") (] "]")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar9 = FUN_0004e530(puVar14,param_2);" (assignment_expression "iVar9 = FUN_0004e530(puVar14,param_2)" (identifier "iVar9") (= "=") (call_expression "FUN_0004e530(puVar14,param_2)" (identifier "FUN_0004e530") (argument_list "(puVar14,param_2)" (( "(") (identifier "puVar14") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "uVar15 = uVar15 + iVar9;" (assignment_expression "uVar15 = uVar15 + iVar9" (identifier "uVar15") (= "=") (binary_expression "uVar15 + iVar9" (identifier "uVar15") (+ "+") (identifier "iVar9"))) (; ";"))) (case_statement "case 8:" (case "case") (number_literal "8") (: ":")) (case_statement "case 9:\n        puVar14 = (uint *)puVar14[7];\n        break;" (case "case") (number_literal "9") (: ":") (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" (identifier "puVar14") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xb:\n        puVar14[4] = 1;\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + 1;\n        break;" (case "case") (number_literal "0xb") (: ":") (expression_statement "puVar14[4] = 1;" (assignment_expression "puVar14[4] = 1" (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" (identifier "puVar14") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "uVar15 = uVar15 + 1;" (assignment_expression "uVar15 = uVar15 + 1" (identifier "uVar15") (= "=") (binary_expression "uVar15 + 1" (identifier "uVar15") (+ "+") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n        iVar9 = FUN_0001fdb0(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;\n        break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "iVar9 = FUN_0001fdb0(puVar14);" (assignment_expression "iVar9 = FUN_0001fdb0(puVar14)" (identifier "iVar9") (= "=") (call_expression "FUN_0001fdb0(puVar14)" (identifier "FUN_0001fdb0") (argument_list "(puVar14)" (( "(") (identifier "puVar14") () ")")))) (; ";")) (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" (identifier "puVar14") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "uVar15 = uVar15 + iVar9;" (assignment_expression "uVar15 = uVar15 + iVar9" (identifier "uVar15") (= "=") (binary_expression "uVar15 + iVar9" (identifier "uVar15") (+ "+") (identifier "iVar9"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xd:\n        iVar9 = FUN_0001b960(puVar14);\n        puVar14 = (uint *)puVar14[7];\n        uVar15 = uVar15 + iVar9;" (case "case") (number_literal "0xd") (: ":") (expression_statement "iVar9 = FUN_0001b960(puVar14);" (assignment_expression "iVar9 = FUN_0001b960(puVar14)" (identifier "iVar9") (= "=") (call_expression "FUN_0001b960(puVar14)" (identifier "FUN_0001b960") (argument_list "(puVar14)" (( "(") (identifier "puVar14") () ")")))) (; ";")) (expression_statement "puVar14 = (uint *)puVar14[7];" (assignment_expression "puVar14 = (uint *)puVar14[7]" (identifier "puVar14") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "uVar15 = uVar15 + iVar9;" (assignment_expression "uVar15 = uVar15 + iVar9" (identifier "uVar15") (= "=") (binary_expression "uVar15 + iVar9" (identifier "uVar15") (+ "+") (identifier "iVar9"))) (; ";"))) (} "}"))) (expression_statement "iVar9 = iVar12 + 1;" (assignment_expression "iVar9 = iVar12 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar14 != (uint *)0x0)" (( "(") (binary_expression "puVar14 != (uint *)0x0" (identifier "puVar14") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "uVar15 = iVar12 + 1;" (assignment_expression "uVar15 = iVar12 + 1" (identifier "uVar15") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uStack_44 = 0;" (assignment_expression "uStack_44 = 0" (identifier "uStack_44") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" (identifier "local_2c") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_28 = uVar15 * uVar15;" (assignment_expression "uStack_28 = uVar15 * uVar15" (identifier "uStack_28") (= "=") (binary_expression "uVar15 * uVar15" (identifier "uVar15") (* "*") (identifier "uVar15"))) (; ";")) (if_statement "if (uVar15 * uVar15 < uVar15) {\n      uStack_28 = uVar15;\n    }" (if "if") (parenthesized_expression "(uVar15 * uVar15 < uVar15)" (( "(") (binary_expression "uVar15 * uVar15 < uVar15" (binary_expression "uVar15 * uVar15" (identifier "uVar15") (* "*") (identifier "uVar15")) (< "<") (identifier "uVar15")) () ")")) (compound_statement "{\n      uStack_28 = uVar15;\n    }" ({ "{") (expression_statement "uStack_28 = uVar15;" (assignment_expression "uStack_28 = uVar15" (identifier "uStack_28") (= "=") (identifier "uVar15")) (; ";")) (} "}"))) (expression_statement "puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;" (assignment_expression "puVar5 = PTR__bfd_std_section_0007afb0 + 0x150" (identifier "puVar5") (= "=") (binary_expression "PTR__bfd_std_section_0007afb0 + 0x150" (identifier "PTR__bfd_std_section_0007afb0") (+ "+") (number_literal "0x150"))) (; ";")) (while_statement "while (param_1 != (uint *)0x0) {\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }" (while "while") (parenthesized_expression "(param_1 != (uint *)0x0)" (( "(") (binary_expression "param_1 != (uint *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      bVar4 = false;\n      local_4c = 0;\n      puVar14 = param_1;\n      uVar15 = *param_1;\ncode_r0x0003d598:\n      uVar7 = puVar14[0xc];\n      uVar8 = puVar14[5];\n      *(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;\n      uVar6 = local_4c + uVar15;\n      *puVar14 = uVar6;\n      uStack_38 = puVar14[4];\n      switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }\n      local_40 = (uint *)puVar14[7];\njoined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }\njoined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }\n      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }\n      if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }\n      uStack_28 = uStack_28 - 1;\n      if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }\n    }" ({ "{") (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" (identifier "bVar4") (= "=") (false "false")) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar14 = param_1;" (assignment_expression "puVar14 = param_1" (identifier "puVar14") (= "=") (identifier "param_1")) (; ";")) (expression_statement "uVar15 = *param_1;" (assignment_expression "uVar15 = *param_1" (identifier "uVar15") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (labeled_statement "code_r0x0003d598:\n      uVar7 = puVar14[0xc];" (statement_identifier "code_r0x0003d598") (: ":") (expression_statement "uVar7 = puVar14[0xc];" (assignment_expression "uVar7 = puVar14[0xc]" (identifier "uVar7") (= "=") (subscript_expression "puVar14[0xc]" (identifier "puVar14") ([ "[") (number_literal "0xc") (] "]"))) (; ";"))) (expression_statement "uVar8 = puVar14[5];" (assignment_expression "uVar8 = puVar14[5]" (identifier "uVar8") (= "=") (subscript_expression "puVar14[5]" (identifier "puVar14") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "*(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;" (assignment_expression "*(byte *)((int)puVar14 + 0x2e) =\n           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" (* "*") (cast_expression "(byte *)((int)puVar14 + 0x2e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x2e)" (( "(") (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x2e")) () ")")))) (= "=") (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1" (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 0xfe" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" (* "*") (cast_expression "(byte *)((int)puVar14 + 0x2e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x2e)" (( "(") (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x2e")) () ")")))) (& "&") (number_literal "0xfe")) (| "|") (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 1 ^ 1" (binary_expression "*(byte *)((int)puVar14 + 0x2e) & 1" (pointer_expression "*(byte *)((int)puVar14 + 0x2e)" (* "*") (cast_expression "(byte *)((int)puVar14 + 0x2e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x2e)" (( "(") (binary_expression "(int)puVar14 + 0x2e" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x2e")) () ")")))) (& "&") (number_literal "1")) (^ "^") (number_literal "1")))) (; ";")) (expression_statement "uVar6 = local_4c + uVar15;" (assignment_expression "uVar6 = local_4c + uVar15" (identifier "uVar6") (= "=") (binary_expression "local_4c + uVar15" (identifier "local_4c") (+ "+") (identifier "uVar15"))) (; ";")) (expression_statement "*puVar14 = uVar6;" (assignment_expression "*puVar14 = uVar6" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uStack_38 = puVar14[4];" (assignment_expression "uStack_38 = puVar14[4]" (identifier "uStack_38") (= "=") (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]"))) (; ";")) (switch_statement "switch(uVar7) {\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }" (switch "switch") (parenthesized_expression "(uVar7)" (( "(") (identifier "uVar7") () ")")) (compound_statement "{\n      default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");\n      case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;\n      case 2:\n      case 3:\n      case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;\n      case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;\n      case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;\n      case 8:\n      case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;\n      case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;\n      case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;\n      case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);\n      }" ({ "{") (case_statement "default:\n        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");" (default "default") (: ":") (expression_statement "uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);" (assignment_expression "uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" (identifier "uVar13") (= "=") (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" (identifier "dcgettext") (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" (" """) (string_content "Case value %ld unexpected at line %d of file ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");" (call_expression "FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c")" (identifier "FUN_0002aa20") (argument_list "(uVar13,uVar7,0xbf4,"../../gas/write.c")" (( "(") (identifier "uVar13") (, ",") (identifier "uVar7") (, ",") (number_literal "0xbf4") (, ",") (string_literal ""../../gas/write.c"" (" """) (string_content "../../gas/write.c") (" """)) () ")"))) (; ";"))) (case_statement "case 1:\ncode_r0x0003d708:\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d763;" (case "case") (number_literal "1") (: ":") (labeled_statement "code_r0x0003d708:\n        local_40 = (uint *)puVar14[7];" (statement_identifier "code_r0x0003d708") (: ":") (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" (identifier "local_40") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";"))) (goto_statement "goto joined_r0x0003d763;" (goto "goto") (statement_identifier "joined_r0x0003d763") (; ";"))) (case_statement "case 2:" (case "case") (number_literal "2") (: ":")) (case_statement "case 3:" (case "case") (number_literal "3") (: ":")) (case_statement "case 4:\n        iVar9 = uVar15 + puVar14[2];\n        uVar15 = -1 << ((byte)uStack_38 & 0x1f);\n        uVar8 = iVar9 + ~uVar15 & uVar15;\n        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);\n        uVar15 = puVar14[0xd];\n        if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        if (-1 < (int)uStack_38) break;\n        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }\n        local_40 = (uint *)puVar14[7];\n        local_4c = local_4c + uStack_38;\n        goto joined_r0x0003d74b;" (case "case") (number_literal "4") (: ":") (expression_statement "iVar9 = uVar15 + puVar14[2];" (assignment_expression "iVar9 = uVar15 + puVar14[2]" (identifier "iVar9") (= "=") (binary_expression "uVar15 + puVar14[2]" (identifier "uVar15") (+ "+") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "uVar15 = -1 << ((byte)uStack_38 & 0x1f);" (assignment_expression "uVar15 = -1 << ((byte)uStack_38 & 0x1f)" (identifier "uVar15") (= "=") (binary_expression "-1 << ((byte)uStack_38 & 0x1f)" (number_literal "-1") (<< "<<") (parenthesized_expression "((byte)uStack_38 & 0x1f)" (( "(") (binary_expression "(byte)uStack_38 & 0x1f" (cast_expression "(byte)uStack_38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_38")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar8 = iVar9 + ~uVar15 & uVar15;" (assignment_expression "uVar8 = iVar9 + ~uVar15 & uVar15" (identifier "uVar8") (= "=") (binary_expression "iVar9 + ~uVar15 & uVar15" (binary_expression "iVar9 + ~uVar15" (identifier "iVar9") (+ "+") (unary_expression "~uVar15" (~ "~") (identifier "uVar15"))) (& "&") (identifier "uVar15"))) (; ";")) (expression_statement "uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);" (assignment_expression "uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2])" (identifier "uStack_34") (= "=") (binary_expression "(~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2])" (parenthesized_expression "(~uVar15 + uVar6 + puVar14[2] & uVar15)" (( "(") (binary_expression "~uVar15 + uVar6 + puVar14[2] & uVar15" (binary_expression "~uVar15 + uVar6 + puVar14[2]" (binary_expression "~uVar15 + uVar6" (unary_expression "~uVar15" (~ "~") (identifier "uVar15")) (+ "+") (identifier "uVar6")) (+ "+") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]"))) (& "&") (identifier "uVar15")) () ")")) (- "-") (parenthesized_expression "(uVar6 + puVar14[2])" (( "(") (binary_expression "uVar6 + puVar14[2]" (identifier "uVar6") (+ "+") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]"))) () ")")))) (; ";")) (expression_statement "uVar15 = puVar14[0xd];" (assignment_expression "uVar15 = puVar14[0xd]" (identifier "uVar15") (= "=") (subscript_expression "puVar14[0xd]" (identifier "puVar14") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (if_statement "if (uVar15 == 0) {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }\n        else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" (if "if") (parenthesized_expression "(uVar15 == 0)" (( "(") (binary_expression "uVar15 == 0" (identifier "uVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" ({ "{") (expression_statement "uStack_38 = (iVar9 - uVar8) + uStack_34;" (assignment_expression "uStack_38 = (iVar9 - uVar8) + uStack_34" (identifier "uStack_38") (= "=") (binary_expression "(iVar9 - uVar8) + uStack_34" (parenthesized_expression "(iVar9 - uVar8)" (( "(") (binary_expression "iVar9 - uVar8" (identifier "iVar9") (- "-") (identifier "uVar8")) () ")")) (+ "+") (identifier "uStack_34"))) (; ";")) (} "}")) (else_clause "else if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" (else "else") (if_statement "if (uVar15 < uVar8 - iVar9) {\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }\n        else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" (if "if") (parenthesized_expression "(uVar15 < uVar8 - iVar9)" (( "(") (binary_expression "uVar15 < uVar8 - iVar9" (identifier "uVar15") (< "<") (binary_expression "uVar8 - iVar9" (identifier "uVar8") (- "-") (identifier "iVar9"))) () ")")) (compound_statement "{\n          uStack_38 = uStack_34;\n          if (uVar15 < uStack_34) goto code_r0x0003d708;\n        }" ({ "{") (expression_statement "uStack_38 = uStack_34;" (assignment_expression "uStack_38 = uStack_34" (identifier "uStack_38") (= "=") (identifier "uStack_34")) (; ";")) (if_statement "if (uVar15 < uStack_34) goto code_r0x0003d708;" (if "if") (parenthesized_expression "(uVar15 < uStack_34)" (( "(") (binary_expression "uVar15 < uStack_34" (identifier "uVar15") (< "<") (identifier "uStack_34")) () ")")) (goto_statement "goto code_r0x0003d708;" (goto "goto") (statement_identifier "code_r0x0003d708") (; ";"))) (} "}")) (else_clause "else if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" (else "else") (if_statement "if (uVar15 < uStack_34) {\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }\n        else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" (if "if") (parenthesized_expression "(uVar15 < uStack_34)" (( "(") (binary_expression "uVar15 < uStack_34" (identifier "uVar15") (< "<") (identifier "uStack_34")) () ")")) (compound_statement "{\n          uStack_34 = 0;\n          uStack_38 = iVar9 - uVar8;\n        }" ({ "{") (expression_statement "uStack_34 = 0;" (assignment_expression "uStack_34 = 0" (identifier "uStack_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_38 = iVar9 - uVar8;" (assignment_expression "uStack_38 = iVar9 - uVar8" (identifier "uStack_38") (= "=") (binary_expression "iVar9 - uVar8" (identifier "iVar9") (- "-") (identifier "uVar8"))) (; ";")) (} "}")) (else_clause "else {\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" (else "else") (compound_statement "{\n          uStack_38 = (iVar9 - uVar8) + uStack_34;\n        }" ({ "{") (expression_statement "uStack_38 = (iVar9 - uVar8) + uStack_34;" (assignment_expression "uStack_38 = (iVar9 - uVar8) + uStack_34" (identifier "uStack_38") (= "=") (binary_expression "(iVar9 - uVar8) + uStack_34" (parenthesized_expression "(iVar9 - uVar8)" (( "(") (binary_expression "iVar9 - uVar8" (identifier "iVar9") (- "-") (identifier "uVar8")) () ")")) (+ "+") (identifier "uStack_34"))) (; ";")) (} "}")))))))) (if_statement "if (-1 < (int)uStack_38) break;" (if "if") (parenthesized_expression "(-1 < (int)uStack_38)" (( "(") (binary_expression "-1 < (int)uStack_38" (number_literal "-1") (< "<") (cast_expression "(int)uStack_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_38"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }" (if "if") (parenthesized_expression "(((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0))" (( "(") (binary_expression "((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)" (parenthesized_expression "((uStack_44 & 0x10) != 0)" (( "(") (binary_expression "(uStack_44 & 0x10) != 0" (parenthesized_expression "(uStack_44 & 0x10)" (( "(") (binary_expression "uStack_44 & 0x10" (identifier "uStack_44") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uStack_44 & 0xe) != 0)" (( "(") (binary_expression "(uStack_44 & 0xe) != 0" (parenthesized_expression "(uStack_44 & 0xe)" (( "(") (binary_expression "uStack_44 & 0xe" (identifier "uStack_44") (& "&") (number_literal "0xe")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          iVar9 = *(int *)param_2[0x1a];\n          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);\n          uVar15 = puVar14[3];\n          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;\n          *(int *)(iVar9 + 0x24) = iVar12;\n          if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }\n          uVar7 = *(uint *)(iVar9 + 0x28);\n          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);\n          *(uint *)(iVar9 + 0x24) = uVar8;\n          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }\n          *(uint *)(iVar9 + 0x20) = uVar8;\n          *local_40 = *puVar14;\n          local_40[0x14] = puVar14[0x14];\n          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);\n          puVar16 = (undefined4 *)((int)puVar14 - iVar9);\n          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);\n          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }\n          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);\n          uStack_34 = uVar6 + puVar14[2] + uStack_34;\n          uVar7 = puVar14[4];\n          local_40[0xc] = 1;\n          *local_40 = uStack_34;\n          local_40[2] = 0;\n          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];\n          local_40[4] = uVar7;\n          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);\n          if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }\n          uStack_38 = uStack_38 + uVar8;\n          *local_40 = uStack_34 - (uStack_38 + local_4c);\n          *(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;\n          puVar14[7] = (uint)local_40;\n          goto code_r0x0003da0f;\n        }" ({ "{") (expression_statement "iVar9 = *(int *)param_2[0x1a];" (assignment_expression "iVar9 = *(int *)param_2[0x1a]" (identifier "iVar9") (= "=") (pointer_expression "*(int *)param_2[0x1a]" (* "*") (cast_expression "(int *)param_2[0x1a]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0x1a]" (identifier "param_2") ([ "[") (number_literal "0x1a") (] "]"))))) (; ";")) (expression_statement "local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);" (assignment_expression "local_40 = (uint *)FUN_000234c0(iVar9 + 0x18)" (identifier "local_40") (= "=") (cast_expression "(uint *)FUN_000234c0(iVar9 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000234c0(iVar9 + 0x18)" (identifier "FUN_000234c0") (argument_list "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "uVar15 = puVar14[3];" (assignment_expression "uVar15 = puVar14[3]" (identifier "uVar15") (= "=") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar12 = *(int *)(iVar9 + 0x24) + uVar15;" (assignment_expression "iVar12 = *(int *)(iVar9 + 0x24) + uVar15" (identifier "iVar12") (= "=") (binary_expression "*(int *)(iVar9 + 0x24) + uVar15" (pointer_expression "*(int *)(iVar9 + 0x24)" (* "*") (cast_expression "(int *)(iVar9 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")")))) (+ "+") (identifier "uVar15"))) (; ";")) (expression_statement "*(int *)(iVar9 + 0x24) = iVar12;" (assignment_expression "*(int *)(iVar9 + 0x24) = iVar12" (pointer_expression "*(int *)(iVar9 + 0x24)" (* "*") (cast_expression "(int *)(iVar9 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (if_statement "if (iVar12 == *(int *)(iVar9 + 0x20)) {\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }" (if "if") (parenthesized_expression "(iVar12 == *(int *)(iVar9 + 0x20))" (( "(") (binary_expression "iVar12 == *(int *)(iVar9 + 0x20)" (identifier "iVar12") (== "==") (pointer_expression "*(int *)(iVar9 + 0x20)" (* "*") (cast_expression "(int *)(iVar9 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x20)" (( "(") (binary_expression "iVar9 + 0x20" (identifier "iVar9") (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (compound_statement "{\n            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;\n          }" ({ "{") (expression_statement "*(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;" (assignment_expression "*(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2" (pointer_expression "*(byte *)(iVar9 + 0x40)" (* "*") (cast_expression "(byte *)(iVar9 + 0x40)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x40)" (( "(") (binary_expression "iVar9 + 0x40" (identifier "iVar9") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar9 + 0x40) | 2" (pointer_expression "*(byte *)(iVar9 + 0x40)" (* "*") (cast_expression "(byte *)(iVar9 + 0x40)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x40)" (( "(") (binary_expression "iVar9 + 0x40" (identifier "iVar9") (+ "+") (number_literal "0x40")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "uVar7 = *(uint *)(iVar9 + 0x28);" (assignment_expression "uVar7 = *(uint *)(iVar9 + 0x28)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar9 + 0x28)" (* "*") (cast_expression "(uint *)(iVar9 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x28)" (( "(") (binary_expression "iVar9 + 0x28" (identifier "iVar9") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);" (assignment_expression "uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30)" (identifier "uVar8") (= "=") (binary_expression "iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30)" (binary_expression "iVar12 + *(uint *)(iVar9 + 0x30)" (identifier "iVar12") (+ "+") (pointer_expression "*(uint *)(iVar9 + 0x30)" (* "*") (cast_expression "(uint *)(iVar9 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x30)" (( "(") (binary_expression "iVar9 + 0x30" (identifier "iVar9") (+ "+") (number_literal "0x30")) () ")"))))) (& "&") (unary_expression "~*(uint *)(iVar9 + 0x30)" (~ "~") (pointer_expression "*(uint *)(iVar9 + 0x30)" (* "*") (cast_expression "(uint *)(iVar9 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x30)" (( "(") (binary_expression "iVar9 + 0x30" (identifier "iVar9") (+ "+") (number_literal "0x30")) () ")"))))))) (; ";")) (expression_statement "*(uint *)(iVar9 + 0x24) = uVar8;" (assignment_expression "*(uint *)(iVar9 + 0x24) = uVar8" (pointer_expression "*(uint *)(iVar9 + 0x24)" (* "*") (cast_expression "(uint *)(iVar9 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (if_statement "if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }" (if "if") (parenthesized_expression "(uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c))" (( "(") (binary_expression "uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)" (binary_expression "uVar7 - *(int *)(iVar9 + 0x1c)" (identifier "uVar7") (- "-") (pointer_expression "*(int *)(iVar9 + 0x1c)" (* "*") (cast_expression "(int *)(iVar9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1c)" (( "(") (binary_expression "iVar9 + 0x1c" (identifier "iVar9") (+ "+") (number_literal "0x1c")) () ")"))))) (< "<") (binary_expression "uVar8 - *(int *)(iVar9 + 0x1c)" (identifier "uVar8") (- "-") (pointer_expression "*(int *)(iVar9 + 0x1c)" (* "*") (cast_expression "(int *)(iVar9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1c)" (( "(") (binary_expression "iVar9 + 0x1c" (identifier "iVar9") (+ "+") (number_literal "0x1c")) () ")")))))) () ")")) (compound_statement "{\n            *(uint *)(iVar9 + 0x24) = uVar7;\n            uVar8 = uVar7;\n          }" ({ "{") (expression_statement "*(uint *)(iVar9 + 0x24) = uVar7;" (assignment_expression "*(uint *)(iVar9 + 0x24) = uVar7" (pointer_expression "*(uint *)(iVar9 + 0x24)" (* "*") (cast_expression "(uint *)(iVar9 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar8 = uVar7;" (assignment_expression "uVar8 = uVar7" (identifier "uVar8") (= "=") (identifier "uVar7")) (; ";")) (} "}"))) (expression_statement "*(uint *)(iVar9 + 0x20) = uVar8;" (assignment_expression "*(uint *)(iVar9 + 0x20) = uVar8" (pointer_expression "*(uint *)(iVar9 + 0x20)" (* "*") (cast_expression "(uint *)(iVar9 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x20)" (( "(") (binary_expression "iVar9 + 0x20" (identifier "iVar9") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*local_40 = *puVar14;" (assignment_expression "*local_40 = *puVar14" (pointer_expression "*local_40" (* "*") (identifier "local_40")) (= "=") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) (; ";")) (expression_statement "local_40[0x14] = puVar14[0x14];" (assignment_expression "local_40[0x14] = puVar14[0x14]" (subscript_expression "local_40[0x14]" (identifier "local_40") ([ "[") (number_literal "0x14") (] "]")) (= "=") (subscript_expression "puVar14[0x14]" (identifier "puVar14") ([ "[") (number_literal "0x14") (] "]"))) (; ";")) (expression_statement "iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);" (assignment_expression "iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc)" (identifier "iVar9") (= "=") (binary_expression "(int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc)" (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")) (- "-") (cast_expression "(int)((uint)(local_40 + 1) & 0xfffffffc)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uint)(local_40 + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(local_40 + 1) & 0xfffffffc" (call_expression "(uint)(local_40 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_40 + 1)" (( "(") (binary_expression "local_40 + 1" (identifier "local_40") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")"))))) (; ";")) (expression_statement "puVar16 = (undefined4 *)((int)puVar14 - iVar9);" (assignment_expression "puVar16 = (undefined4 *)((int)puVar14 - iVar9)" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)((int)puVar14 - iVar9)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 - iVar9)" (( "(") (binary_expression "(int)puVar14 - iVar9" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (- "-") (identifier "iVar9")) () ")")))) (; ";")) (expression_statement "puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);" (assignment_expression "puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc)" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)((uint)(local_40 + 1) & 0xfffffffc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(local_40 + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(local_40 + 1) & 0xfffffffc" (call_expression "(uint)(local_40 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_40 + 1)" (( "(") (binary_expression "local_40 + 1" (identifier "local_40") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (for_statement "for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }" (for "for") (( "(") (assignment_expression "uVar7 = iVar9 + 0x54U >> 2" (identifier "uVar7") (= "=") (binary_expression "iVar9 + 0x54U >> 2" (binary_expression "iVar9 + 0x54U" (identifier "iVar9") (+ "+") (number_literal "0x54U")) (>> ">>") (number_literal "2"))) (; ";") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar7 = uVar7 - 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 - 1" (identifier "uVar7") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n            *puVar17 = *puVar16;\n            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;\n            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;\n          }" ({ "{") (expression_statement "*puVar17 = *puVar16;" (assignment_expression "*puVar17 = *puVar16" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (pointer_expression "*puVar16" (* "*") (identifier "puVar16"))) (; ";")) (expression_statement "puVar16 = puVar16 + (uint)bVar18 * -2 + 1;" (assignment_expression "puVar16 = puVar16 + (uint)bVar18 * -2 + 1" (identifier "puVar16") (= "=") (binary_expression "puVar16 + (uint)bVar18 * -2 + 1" (binary_expression "puVar16 + (uint)bVar18 * -2" (identifier "puVar16") (+ "+") (binary_expression "(uint)bVar18 * -2" (cast_expression "(uint)bVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar18")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar17 = puVar17 + (uint)bVar18 * -2 + 1;" (assignment_expression "puVar17 = puVar17 + (uint)bVar18 * -2 + 1" (identifier "puVar17") (= "=") (binary_expression "puVar17 + (uint)bVar18 * -2 + 1" (binary_expression "puVar17 + (uint)bVar18 * -2" (identifier "puVar17") (+ "+") (binary_expression "(uint)bVar18 * -2" (cast_expression "(uint)bVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar18")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);" (call_expression "memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3])" (identifier "memcpy") (argument_list "(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3])" (( "(") (binary_expression "local_40 + 0x15" (identifier "local_40") (+ "+") (number_literal "0x15")) (, ",") (cast_expression "(void *)((int)puVar14 + puVar14[2] + 0x54)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + puVar14[2] + 0x54)" (( "(") (binary_expression "(int)puVar14 + puVar14[2] + 0x54" (binary_expression "(int)puVar14 + puVar14[2]" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]"))) (+ "+") (number_literal "0x54")) () ")"))) (, ",") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (expression_statement "uStack_34 = uVar6 + puVar14[2] + uStack_34;" (assignment_expression "uStack_34 = uVar6 + puVar14[2] + uStack_34" (identifier "uStack_34") (= "=") (binary_expression "uVar6 + puVar14[2] + uStack_34" (binary_expression "uVar6 + puVar14[2]" (identifier "uVar6") (+ "+") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]"))) (+ "+") (identifier "uStack_34"))) (; ";")) (expression_statement "uVar7 = puVar14[4];" (assignment_expression "uVar7 = puVar14[4]" (identifier "uVar7") (= "=") (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_40[0xc] = 1;" (assignment_expression "local_40[0xc] = 1" (subscript_expression "local_40[0xc]" (identifier "local_40") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*local_40 = uStack_34;" (assignment_expression "*local_40 = uStack_34" (pointer_expression "*local_40" (* "*") (identifier "local_40")) (= "=") (identifier "uStack_34")) (; ";")) (expression_statement "local_40[2] = 0;" (assignment_expression "local_40[2] = 0" (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];" (assignment_expression "uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3]" (identifier "uVar7") (= "=") (binary_expression "(1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3]" (parenthesized_expression "(1 << ((byte)uVar7 & 0x1f))" (( "(") (binary_expression "1 << ((byte)uVar7 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)uVar7 & 0x1f)" (( "(") (binary_expression "(byte)uVar7 & 0x1f" (cast_expression "(byte)uVar7" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) () ")")) (/ "/") (cast_expression "(int)puVar14[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]"))))) (; ";")) (expression_statement "local_40[4] = uVar7;" (assignment_expression "local_40[4] = uVar7" (subscript_expression "local_40[4]" (identifier "local_40") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar8 = 1 << ((byte)puVar14[4] & 0x1f);" (assignment_expression "uVar8 = 1 << ((byte)puVar14[4] & 0x1f)" (identifier "uVar8") (= "=") (binary_expression "1 << ((byte)puVar14[4] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)puVar14[4] & 0x1f)" (( "(") (binary_expression "(byte)puVar14[4] & 0x1f" (cast_expression "(byte)puVar14[4]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]"))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar15 * uVar7 - uVar8 == 0) {\n            uVar8 = uVar7 * local_40[3];\n          }\n          else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }" (if "if") (parenthesized_expression "(uVar15 * uVar7 - uVar8 == 0)" (( "(") (binary_expression "uVar15 * uVar7 - uVar8 == 0" (binary_expression "uVar15 * uVar7 - uVar8" (binary_expression "uVar15 * uVar7" (identifier "uVar15") (* "*") (identifier "uVar7")) (- "-") (identifier "uVar8")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar8 = uVar7 * local_40[3];\n          }" ({ "{") (expression_statement "uVar8 = uVar7 * local_40[3];" (assignment_expression "uVar8 = uVar7 * local_40[3]" (identifier "uVar8") (= "=") (binary_expression "uVar7 * local_40[3]" (identifier "uVar7") (* "*") (subscript_expression "local_40[3]" (identifier "local_40") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }" (else "else") (compound_statement "{\n            local_40[4] = uVar8;\n            local_40[3] = 1;\n          }" ({ "{") (expression_statement "local_40[4] = uVar8;" (assignment_expression "local_40[4] = uVar8" (subscript_expression "local_40[4]" (identifier "local_40") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "local_40[3] = 1;" (assignment_expression "local_40[3] = 1" (subscript_expression "local_40[3]" (identifier "local_40") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "uStack_38 = uStack_38 + uVar8;" (assignment_expression "uStack_38 = uStack_38 + uVar8" (identifier "uStack_38") (= "=") (binary_expression "uStack_38 + uVar8" (identifier "uStack_38") (+ "+") (identifier "uVar8"))) (; ";")) (expression_statement "*local_40 = uStack_34 - (uStack_38 + local_4c);" (assignment_expression "*local_40 = uStack_34 - (uStack_38 + local_4c)" (pointer_expression "*local_40" (* "*") (identifier "local_40")) (= "=") (binary_expression "uStack_34 - (uStack_38 + local_4c)" (identifier "uStack_34") (- "-") (parenthesized_expression "(uStack_38 + local_4c)" (( "(") (binary_expression "uStack_38 + local_4c" (identifier "uStack_38") (+ "+") (identifier "local_4c")) () ")")))) (; ";")) (expression_statement "*(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;" (assignment_expression "*(byte *)((int)local_40 + 0x2e) =\n               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1" (pointer_expression "*(byte *)((int)local_40 + 0x2e)" (* "*") (cast_expression "(byte *)((int)local_40 + 0x2e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_40 + 0x2e)" (( "(") (binary_expression "(int)local_40 + 0x2e" (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")) (+ "+") (number_literal "0x2e")) () ")")))) (= "=") (binary_expression "*(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1" (binary_expression "*(byte *)((int)local_40 + 0x2e) & 0xfe" (pointer_expression "*(byte *)((int)local_40 + 0x2e)" (* "*") (cast_expression "(byte *)((int)local_40 + 0x2e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_40 + 0x2e)" (( "(") (binary_expression "(int)local_40 + 0x2e" (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")) (+ "+") (number_literal "0x2e")) () ")")))) (& "&") (number_literal "0xfe")) (| "|") (binary_expression "*(byte *)((int)local_40 + 0x2e) & 1 ^ 1" (binary_expression "*(byte *)((int)local_40 + 0x2e) & 1" (pointer_expression "*(byte *)((int)local_40 + 0x2e)" (* "*") (cast_expression "(byte *)((int)local_40 + 0x2e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_40 + 0x2e)" (( "(") (binary_expression "(int)local_40 + 0x2e" (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")) (+ "+") (number_literal "0x2e")) () ")")))) (& "&") (number_literal "1")) (^ "^") (number_literal "1")))) (; ";")) (expression_statement "puVar14[7] = (uint)local_40;" (assignment_expression "puVar14[7] = (uint)local_40" (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(uint)local_40" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_40"))) (; ";")) (goto_statement "goto code_r0x0003da0f;" (goto "goto") (statement_identifier "code_r0x0003da0f") (; ";")) (} "}"))) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" (identifier "local_40") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "local_4c = local_4c + uStack_38;" (assignment_expression "local_4c = local_4c + uStack_38" (identifier "local_4c") (= "=") (binary_expression "local_4c + uStack_38" (identifier "local_4c") (+ "+") (identifier "uStack_38"))) (; ";")) (goto_statement "goto joined_r0x0003d74b;" (goto "goto") (statement_identifier "joined_r0x0003d74b") (; ";"))) (case_statement "case 5:\n        if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }\n        local_40 = (uint *)puVar14[7];\n        if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }\n        uVar7 = *local_40;\n        if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }\n        if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }\n        local_2c = 1;\n        puVar14 = local_40;\n        uVar15 = uVar7;\n        goto code_r0x0003d598;" (case "case") (number_literal "5") (: ":") (if_statement "if (uVar8 != 0) {\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar9 = FUN_00036e00(uVar8);\n          if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }\n          iVar9 = FUN_00038490(uVar8);\n          uStack_38 = uStack_38 + iVar9;\n        }" ({ "{") (expression_statement "iVar9 = FUN_00036e00(uVar8);" (assignment_expression "iVar9 = FUN_00036e00(uVar8)" (identifier "iVar9") (= "=") (call_expression "FUN_00036e00(uVar8)" (identifier "FUN_00036e00") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (if_statement "if (*(int *)(iVar9 + 0x1c) != 0) {\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != 0)" (( "(") (binary_expression "*(int *)(iVar9 + 0x1c) != 0" (pointer_expression "*(int *)(iVar9 + 0x1c)" (* "*") (cast_expression "(int *)(iVar9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1c)" (( "(") (binary_expression "iVar9 + 0x1c" (identifier "iVar9") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");\n          }" ({ "{") (expression_statement "FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");" (call_expression "FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment")" (identifier "FUN_0002aaa0") (argument_list "("../../gas/write.c",0xb80,"relax_segment")" (( "(") (string_literal ""../../gas/write.c"" (" """) (string_content "../../gas/write.c") (" """)) (, ",") (number_literal "0xb80") (, ",") (string_literal ""relax_segment"" (" """) (string_content "relax_segment") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar9 = FUN_00038490(uVar8);" (assignment_expression "iVar9 = FUN_00038490(uVar8)" (identifier "iVar9") (= "=") (call_expression "FUN_00038490(uVar8)" (identifier "FUN_00038490") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "uStack_38 = uStack_38 + iVar9;" (assignment_expression "uStack_38 = uStack_38 + iVar9" (identifier "uStack_38") (= "=") (binary_expression "uStack_38 + iVar9" (identifier "uStack_38") (+ "+") (identifier "iVar9"))) (; ";")) (} "}"))) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" (identifier "local_40") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (if_statement "if (local_40 == (uint *)0x0) {\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }" (if "if") (parenthesized_expression "(local_40 == (uint *)0x0)" (( "(") (binary_expression "local_40 == (uint *)0x0" (identifier "local_40") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");\n        }" ({ "{") (expression_statement "FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");" (call_expression "FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment")" (identifier "FUN_0002aaa0") (argument_list "("../../gas/write.c",0xb84,"relax_segment")" (( "(") (string_literal ""../../gas/write.c"" (" """) (string_content "../../gas/write.c") (" """)) (, ",") (number_literal "0xb84") (, ",") (string_literal ""relax_segment"" (" """) (string_content "relax_segment") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = *local_40;" (assignment_expression "uVar7 = *local_40" (identifier "uVar7") (= "=") (pointer_expression "*local_40" (* "*") (identifier "local_40"))) (; ";")) (if_statement "if (uVar6 + puVar14[2] <= uStack_38) {\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }" (if "if") (parenthesized_expression "(uVar6 + puVar14[2] <= uStack_38)" (( "(") (binary_expression "uVar6 + puVar14[2] <= uStack_38" (binary_expression "uVar6 + puVar14[2]" (identifier "uVar6") (+ "+") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]"))) (<= "<=") (identifier "uStack_38")) () ")")) (compound_statement "{\n          uStack_38 = uStack_38 - (uVar7 + local_4c);\ncode_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }\n          goto code_r0x0003d70f;\n        }" ({ "{") (expression_statement "uStack_38 = uStack_38 - (uVar7 + local_4c);" (assignment_expression "uStack_38 = uStack_38 - (uVar7 + local_4c)" (identifier "uStack_38") (= "=") (binary_expression "uStack_38 - (uVar7 + local_4c)" (identifier "uStack_38") (- "-") (parenthesized_expression "(uVar7 + local_4c)" (( "(") (binary_expression "uVar7 + local_4c" (identifier "uVar7") (+ "+") (identifier "local_4c")) () ")")))) (; ";")) (labeled_statement "code_r0x0003da0f:\n          if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }" (statement_identifier "code_r0x0003da0f") (: ":") (if_statement "if (uStack_38 != 0) {\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }" (if "if") (parenthesized_expression "(uStack_38 != 0)" (( "(") (binary_expression "uStack_38 != 0" (identifier "uStack_38") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar7 = puVar14[0xc];\n            goto code_r0x0003d73c;\n          }" ({ "{") (expression_statement "uVar7 = puVar14[0xc];" (assignment_expression "uVar7 = puVar14[0xc]" (identifier "uVar7") (= "=") (subscript_expression "puVar14[0xc]" (identifier "puVar14") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (goto_statement "goto code_r0x0003d73c;" (goto "goto") (statement_identifier "code_r0x0003d73c") (; ";")) (} "}")))) (goto_statement "goto code_r0x0003d70f;" (goto "goto") (statement_identifier "code_r0x0003d70f") (; ";")) (} "}"))) (if_statement "if (1 < param_3) {\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }" (if "if") (parenthesized_expression "(1 < param_3)" (( "(") (binary_expression "1 < param_3" (number_literal "1") (< "<") (identifier "param_3")) () ")")) (compound_statement "{\n          uVar13 = dcgettext(0,"attempt to move .org backwards",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[0xc] = 2;\n          puVar14[0xd] = 0;\n          puVar14[4] = 0;\n          puVar14[2] = uVar7 - uVar15;\n          local_40 = (uint *)puVar14[7];\n          goto joined_r0x0003d763;\n        }" ({ "{") (expression_statement "uVar13 = dcgettext(0,"attempt to move .org backwards",5);" (assignment_expression "uVar13 = dcgettext(0,"attempt to move .org backwards",5)" (identifier "uVar13") (= "=") (call_expression "dcgettext(0,"attempt to move .org backwards",5)" (identifier "dcgettext") (argument_list "(0,"attempt to move .org backwards",5)" (( "(") (number_literal "0") (, ",") (string_literal ""attempt to move .org backwards"" (" """) (string_content "attempt to move .org backwards") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);" (call_expression "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13)" (identifier "FUN_0002a9d0") (argument_list "(puVar14[8],puVar14[9],uVar13)" (( "(") (subscript_expression "puVar14[8]" (identifier "puVar14") ([ "[") (number_literal "8") (] "]")) (, ",") (subscript_expression "puVar14[9]" (identifier "puVar14") ([ "[") (number_literal "9") (] "]")) (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "puVar14[0xc] = 2;" (assignment_expression "puVar14[0xc] = 2" (subscript_expression "puVar14[0xc]" (identifier "puVar14") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "puVar14[0xd] = 0;" (assignment_expression "puVar14[0xd] = 0" (subscript_expression "puVar14[0xd]" (identifier "puVar14") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar14[4] = 0;" (assignment_expression "puVar14[4] = 0" (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar14[2] = uVar7 - uVar15;" (assignment_expression "puVar14[2] = uVar7 - uVar15" (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar7 - uVar15" (identifier "uVar7") (- "-") (identifier "uVar15"))) (; ";")) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" (identifier "local_40") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (goto_statement "goto joined_r0x0003d763;" (goto "goto") (statement_identifier "joined_r0x0003d763") (; ";")) (} "}"))) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" (identifier "local_2c") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar14 = local_40;" (assignment_expression "puVar14 = local_40" (identifier "puVar14") (= "=") (identifier "local_40")) (; ";")) (expression_statement "uVar15 = uVar7;" (assignment_expression "uVar15 = uVar7" (identifier "uVar15") (= "=") (identifier "uVar7")) (; ";")) (goto_statement "goto code_r0x0003d598;" (goto "goto") (statement_identifier "code_r0x0003d598") (; ";"))) (case_statement "case 7:\n        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);\n        break;" (case "case") (number_literal "7") (: ":") (expression_statement "uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);" (assignment_expression "uStack_38 = FUN_0003d290(param_2,puVar14,local_4c)" (identifier "uStack_38") (= "=") (call_expression "FUN_0003d290(param_2,puVar14,local_4c)" (identifier "FUN_0003d290") (argument_list "(param_2,puVar14,local_4c)" (( "(") (identifier "param_2") (, ",") (identifier "puVar14") (, ",") (identifier "local_4c") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 8:" (case "case") (number_literal "8") (: ":")) (case_statement "case 9:\n        if (uVar8 == 0) goto code_r0x0003d708;\n        iVar9 = FUN_00038490(uVar8);\n        puVar11 = (undefined *)FUN_00036e00(uVar8);\n        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }\n        goto joined_r0x0003d763;" (case "case") (number_literal "9") (: ":") (if_statement "if (uVar8 == 0) goto code_r0x0003d708;" (if "if") (parenthesized_expression "(uVar8 == 0)" (( "(") (binary_expression "uVar8 == 0" (identifier "uVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x0003d708;" (goto "goto") (statement_identifier "code_r0x0003d708") (; ";"))) (expression_statement "iVar9 = FUN_00038490(uVar8);" (assignment_expression "iVar9 = FUN_00038490(uVar8)" (identifier "iVar9") (= "=") (call_expression "FUN_00038490(uVar8)" (identifier "FUN_00038490") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "puVar11 = (undefined *)FUN_00036e00(uVar8);" (assignment_expression "puVar11 = (undefined *)FUN_00036e00(uVar8)" (identifier "puVar11") (= "=") (cast_expression "(undefined *)FUN_00036e00(uVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00036e00(uVar8)" (identifier "FUN_00036e00") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))))) (; ";")) (if_statement "if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }\n        else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }" (if "if") (parenthesized_expression "(((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0))" (( "(") (binary_expression "((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&\n           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)" (parenthesized_expression "((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0))" (( "(") (binary_expression "(puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)" (parenthesized_expression "(puVar11 == puVar5)" (( "(") (binary_expression "puVar11 == puVar5" (identifier "puVar11") (== "==") (identifier "puVar5")) () ")")) (&& "&&") (parenthesized_expression "(iVar12 = FUN_000369b0(uVar8), iVar12 == 0)" (( "(") (comma_expression "iVar12 = FUN_000369b0(uVar8), iVar12 == 0" (assignment_expression "iVar12 = FUN_000369b0(uVar8)" (identifier "iVar12") (= "=") (call_expression "FUN_000369b0(uVar8)" (identifier "FUN_000369b0") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (, ",") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar12 = FUN_00036a00(uVar8), iVar12 != 0)" (( "(") (comma_expression "iVar12 = FUN_00036a00(uVar8), iVar12 != 0" (assignment_expression "iVar12 = FUN_00036a00(uVar8)" (identifier "iVar12") (= "=") (call_expression "FUN_00036a00(uVar8)" (identifier "FUN_00036a00") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (, ",") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }\n          if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }\n        }" ({ "{") (if_statement "if (-1 < iVar9) {\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }" (if "if") (parenthesized_expression "(-1 < iVar9)" (( "(") (binary_expression "-1 < iVar9" (number_literal "-1") (< "<") (identifier "iVar9")) () ")")) (compound_statement "{\n            local_40 = (uint *)puVar14[7];\n            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;\n            goto code_r0x0003da0f;\n          }" ({ "{") (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" (identifier "local_40") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;" (assignment_expression "uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9" (identifier "uStack_38") (= "=") (binary_expression "((puVar14[2] + uVar15) - *local_40) + iVar9" (parenthesized_expression "((puVar14[2] + uVar15) - *local_40)" (( "(") (binary_expression "(puVar14[2] + uVar15) - *local_40" (parenthesized_expression "(puVar14[2] + uVar15)" (( "(") (binary_expression "puVar14[2] + uVar15" (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")) (+ "+") (identifier "uVar15")) () ")")) (- "-") (pointer_expression "*local_40" (* "*") (identifier "local_40"))) () ")")) (+ "+") (identifier "iVar9"))) (; ";")) (goto_statement "goto code_r0x0003da0f;" (goto "goto") (statement_identifier "code_r0x0003da0f") (; ";")) (} "}"))) (if_statement "if (param_3 < 2) {\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }\n          else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }" (if "if") (parenthesized_expression "(param_3 < 2)" (( "(") (binary_expression "param_3 < 2" (identifier "param_3") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n            local_40 = (uint *)puVar14[7];\n            local_2c = 1;\n          }" ({ "{") (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" (identifier "local_40") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" (identifier "local_2c") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }" (else "else") (compound_statement "{\n            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);\n            FUN_0002a910(puVar14[8],puVar14[9],uVar13);\n            puVar14[5] = 0;\n            local_40 = (uint *)puVar14[7];\n          }" ({ "{") (expression_statement "uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);" (assignment_expression "uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5)" (identifier "uVar13") (= "=") (call_expression "dcgettext(0,".space, .nops or .fill with negative value, ignored",5)" (identifier "dcgettext") (argument_list "(0,".space, .nops or .fill with negative value, ignored",5)" (( "(") (number_literal "0") (, ",") (string_literal "".space, .nops or .fill with negative value, ignored"" (" """) (string_content ".space, .nops or .fill with negative value, ignored") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002a910(puVar14[8],puVar14[9],uVar13);" (call_expression "FUN_0002a910(puVar14[8],puVar14[9],uVar13)" (identifier "FUN_0002a910") (argument_list "(puVar14[8],puVar14[9],uVar13)" (( "(") (subscript_expression "puVar14[8]" (identifier "puVar14") ([ "[") (number_literal "8") (] "]")) (, ",") (subscript_expression "puVar14[9]" (identifier "puVar14") ([ "[") (number_literal "9") (] "]")) (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "puVar14[5] = 0;" (assignment_expression "puVar14[5] = 0" (subscript_expression "puVar14[5]" (identifier "puVar14") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" (identifier "local_40") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }" (else "else") (compound_statement "{\n          uVar13 = dcgettext(0,".space specifies non-absolute value",5);\n          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);\n          puVar14[5] = 0;\n          local_40 = (uint *)puVar14[7];\n        }" ({ "{") (expression_statement "uVar13 = dcgettext(0,".space specifies non-absolute value",5);" (assignment_expression "uVar13 = dcgettext(0,".space specifies non-absolute value",5)" (identifier "uVar13") (= "=") (call_expression "dcgettext(0,".space specifies non-absolute value",5)" (identifier "dcgettext") (argument_list "(0,".space specifies non-absolute value",5)" (( "(") (number_literal "0") (, ",") (string_literal "".space specifies non-absolute value"" (" """) (string_content ".space specifies non-absolute value") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);" (call_expression "FUN_0002a9d0(puVar14[8],puVar14[9],uVar13)" (identifier "FUN_0002a9d0") (argument_list "(puVar14[8],puVar14[9],uVar13)" (( "(") (subscript_expression "puVar14[8]" (identifier "puVar14") ([ "[") (number_literal "8") (] "]")) (, ",") (subscript_expression "puVar14[9]" (identifier "puVar14") ([ "[") (number_literal "9") (] "]")) (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "puVar14[5] = 0;" (assignment_expression "puVar14[5] = 0" (subscript_expression "puVar14[5]" (identifier "puVar14") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" (identifier "local_40") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (} "}")))) (goto_statement "goto joined_r0x0003d763;" (goto "goto") (statement_identifier "joined_r0x0003d763") (; ";"))) (case_statement "case 0xb:\n        uVar13 = FUN_00037320(uVar8);\n        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);\n        uStack_38 = uVar15 - puVar14[4];\n        puVar14[4] = uVar15;\n        break;" (case "case") (number_literal "0xb") (: ":") (expression_statement "uVar13 = FUN_00037320(uVar8);" (assignment_expression "uVar13 = FUN_00037320(uVar8)" (identifier "uVar13") (= "=") (call_expression "FUN_00037320(uVar8)" (identifier "FUN_00037320") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "uVar15 = FUN_00030420(uVar13,puVar14[0xd]);" (assignment_expression "uVar15 = FUN_00030420(uVar13,puVar14[0xd])" (identifier "uVar15") (= "=") (call_expression "FUN_00030420(uVar13,puVar14[0xd])" (identifier "FUN_00030420") (argument_list "(uVar13,puVar14[0xd])" (( "(") (identifier "uVar13") (, ",") (subscript_expression "puVar14[0xd]" (identifier "puVar14") ([ "[") (number_literal "0xd") (] "]")) () ")")))) (; ";")) (expression_statement "uStack_38 = uVar15 - puVar14[4];" (assignment_expression "uStack_38 = uVar15 - puVar14[4]" (identifier "uStack_38") (= "=") (binary_expression "uVar15 - puVar14[4]" (identifier "uVar15") (- "-") (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "puVar14[4] = uVar15;" (assignment_expression "puVar14[4] = uVar15" (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar15")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n        uStack_38 = FUN_0001fe60(puVar14);\n        local_40 = (uint *)puVar14[7];\n        goto joined_r0x0003d971;" (case "case") (number_literal "0xc") (: ":") (expression_statement "uStack_38 = FUN_0001fe60(puVar14);" (assignment_expression "uStack_38 = FUN_0001fe60(puVar14)" (identifier "uStack_38") (= "=") (call_expression "FUN_0001fe60(puVar14)" (identifier "FUN_0001fe60") (argument_list "(puVar14)" (( "(") (identifier "puVar14") () ")")))) (; ";")) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" (identifier "local_40") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (goto_statement "goto joined_r0x0003d971;" (goto "goto") (statement_identifier "joined_r0x0003d971") (; ";"))) (case_statement "case 0xd:\n        uStack_38 = FUN_0001b9b0(puVar14);" (case "case") (number_literal "0xd") (: ":") (expression_statement "uStack_38 = FUN_0001b9b0(puVar14);" (assignment_expression "uStack_38 = FUN_0001b9b0(puVar14)" (identifier "uStack_38") (= "=") (call_expression "FUN_0001b9b0(puVar14)" (identifier "FUN_0001b9b0") (argument_list "(puVar14)" (( "(") (identifier "puVar14") () ")")))) (; ";"))) (} "}"))) (expression_statement "local_40 = (uint *)puVar14[7];" (assignment_expression "local_40 = (uint *)puVar14[7]" (identifier "local_40") (= "=") (cast_expression "(uint *)puVar14[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")))) (; ";")) (labeled_statement "joined_r0x0003d971:\n      if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }" (statement_identifier "joined_r0x0003d971") (: ":") (if_statement "if (uStack_38 != 0) {\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(uStack_38 != 0)" (( "(") (binary_expression "uStack_38 != 0" (identifier "uStack_38") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar7 = puVar14[0xc];\ncode_r0x0003d73c:\n        local_4c = local_4c + uStack_38;\n        if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }\n      }" ({ "{") (expression_statement "uVar7 = puVar14[0xc];" (assignment_expression "uVar7 = puVar14[0xc]" (identifier "uVar7") (= "=") (subscript_expression "puVar14[0xc]" (identifier "puVar14") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (labeled_statement "code_r0x0003d73c:\n        local_4c = local_4c + uStack_38;" (statement_identifier "code_r0x0003d73c") (: ":") (expression_statement "local_4c = local_4c + uStack_38;" (assignment_expression "local_4c = local_4c + uStack_38" (identifier "local_4c") (= "=") (binary_expression "local_4c + uStack_38" (identifier "local_4c") (+ "+") (identifier "uStack_38"))) (; ";"))) (if_statement "if (uVar7 == 0xb) {\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }\n        else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }" (if "if") (parenthesized_expression "(uVar7 == 0xb)" (( "(") (binary_expression "uVar7 == 0xb" (identifier "uVar7") (== "==") (number_literal "0xb")) () ")")) (compound_statement "{\n          uStack_44 = uStack_44 + 0x10;\n          bVar4 = true;\n        }" ({ "{") (expression_statement "uStack_44 = uStack_44 + 0x10;" (assignment_expression "uStack_44 = uStack_44 + 0x10" (identifier "uStack_44") (= "=") (binary_expression "uStack_44 + 0x10" (identifier "uStack_44") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }" (else "else") (compound_statement "{\njoined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }\n        }" ({ "{") (labeled_statement "joined_r0x0003d74b:\n          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }" (statement_identifier "joined_r0x0003d74b") (: ":") (if_statement "if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }\n          else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }" (if "if") (parenthesized_expression "(((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0))" (( "(") (binary_expression "((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)" (parenthesized_expression "((uVar7 == 2) && ((uStack_44 & 0x10) != 0))" (( "(") (binary_expression "(uVar7 == 2) && ((uStack_44 & 0x10) != 0)" (parenthesized_expression "(uVar7 == 2)" (( "(") (binary_expression "uVar7 == 2" (identifier "uVar7") (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "((uStack_44 & 0x10) != 0)" (( "(") (binary_expression "(uStack_44 & 0x10) != 0" (parenthesized_expression "(uStack_44 & 0x10)" (( "(") (binary_expression "uStack_44 & 0x10" (identifier "uStack_44") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_4c == 0)" (( "(") (binary_expression "local_4c == 0" (identifier "local_4c") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            uStack_44 = uStack_44 + 0x10;\n            bVar4 = true;\n          }" ({ "{") (expression_statement "uStack_44 = uStack_44 + 0x10;" (assignment_expression "uStack_44 = uStack_44 + 0x10" (identifier "uStack_44") (= "=") (binary_expression "uStack_44 + 0x10" (identifier "uStack_44") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n            uStack_44 = 0;\n            bVar4 = true;\n          }" (else "else") (compound_statement "{\n            uStack_44 = 0;\n            bVar4 = true;\n          }" ({ "{") (expression_statement "uStack_44 = 0;" (assignment_expression "uStack_44 = 0" (identifier "uStack_44") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (; ";")) (} "}"))))) (} "}")))) (} "}")))) (labeled_statement "joined_r0x0003d763:\n      if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }" (statement_identifier "joined_r0x0003d763") (: ":") (if_statement "if (local_40 != (uint *)0x0) {\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }" (if "if") (parenthesized_expression "(local_40 != (uint *)0x0)" (( "(") (binary_expression "local_40 != (uint *)0x0" (identifier "local_40") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\ncode_r0x0003d70f:\n        puVar14 = local_40;\n        uVar15 = *local_40;\n        goto code_r0x0003d598;\n      }" ({ "{") (labeled_statement "code_r0x0003d70f:\n        puVar14 = local_40;" (statement_identifier "code_r0x0003d70f") (: ":") (expression_statement "puVar14 = local_40;" (assignment_expression "puVar14 = local_40" (identifier "puVar14") (= "=") (identifier "local_40")) (; ";"))) (expression_statement "uVar15 = *local_40;" (assignment_expression "uVar15 = *local_40" (identifier "uVar15") (= "=") (pointer_expression "*local_40" (* "*") (identifier "local_40"))) (; ";")) (goto_statement "goto code_r0x0003d598;" (goto "goto") (statement_identifier "code_r0x0003d598") (; ";")) (} "}")))) (if_statement "if (local_4c == 0 && (uStack_44 & 0x10) == 0) {\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }\n      else {\n        uStack_44 = 0;\n      }" (if "if") (parenthesized_expression "(local_4c == 0 && (uStack_44 & 0x10) == 0)" (( "(") (binary_expression "local_4c == 0 && (uStack_44 & 0x10) == 0" (binary_expression "local_4c == 0" (identifier "local_4c") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uStack_44 & 0x10) == 0" (parenthesized_expression "(uStack_44 & 0x10)" (( "(") (binary_expression "uStack_44 & 0x10" (identifier "uStack_44") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n        uVar15 = uStack_44 + 1;\n        uVar7 = uStack_44 & 0xfffffff0;\n        uStack_44 = 0;\n        if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }\n      }" ({ "{") (expression_statement "uVar15 = uStack_44 + 1;" (assignment_expression "uVar15 = uStack_44 + 1" (identifier "uVar15") (= "=") (binary_expression "uStack_44 + 1" (identifier "uStack_44") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar7 = uStack_44 & 0xfffffff0;" (assignment_expression "uVar7 = uStack_44 & 0xfffffff0" (identifier "uVar7") (= "=") (binary_expression "uStack_44 & 0xfffffff0" (identifier "uStack_44") (& "&") (number_literal "0xfffffff0"))) (; ";")) (expression_statement "uStack_44 = 0;" (assignment_expression "uStack_44 = 0" (identifier "uStack_44") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar7 != 0) {\n          uStack_44 = uVar15;\n        }" (if "if") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uStack_44 = uVar15;\n        }" ({ "{") (expression_statement "uStack_44 = uVar15;" (assignment_expression "uStack_44 = uVar15" (identifier "uStack_44") (= "=") (identifier "uVar15")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        uStack_44 = 0;\n      }" (else "else") (compound_statement "{\n        uStack_44 = 0;\n      }" ({ "{") (expression_statement "uStack_44 = 0;" (assignment_expression "uStack_44 = 0" (identifier "uStack_44") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (!bVar4) {\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }" (if "if") (parenthesized_expression "(!bVar4)" (( "(") (unary_expression "!bVar4" (! "!") (identifier "bVar4")) () ")")) (compound_statement "{\n        do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);\n        return local_2c;\n      }" ({ "{") (do_statement "do {\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        } while (param_1 != (uint *)0x0);" (do "do") (compound_statement "{\n          if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }\n          param_1 = (uint *)param_1[7];\n        }" ({ "{") (if_statement "if (param_1[1] != *param_1) {\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }" (if "if") (parenthesized_expression "(param_1[1] != *param_1)" (( "(") (binary_expression "param_1[1] != *param_1" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (!= "!=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) () ")")) (compound_statement "{\n            param_1[1] = *param_1;\n            local_2c = 1;\n          }" ({ "{") (expression_statement "param_1[1] = *param_1;" (assignment_expression "param_1[1] = *param_1" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" (identifier "local_2c") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "param_1 = (uint *)param_1[7];" (assignment_expression "param_1 = (uint *)param_1[7]" (identifier "param_1") (= "=") (cast_expression "(uint *)param_1[7]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_1 != (uint *)0x0)" (( "(") (binary_expression "param_1 != (uint *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (return_statement "return local_2c;" (return "return") (identifier "local_2c") (; ";")) (} "}"))) (expression_statement "uStack_28 = uStack_28 - 1;" (assignment_expression "uStack_28 = uStack_28 - 1" (identifier "uStack_28") (= "=") (binary_expression "uStack_28 - 1" (identifier "uStack_28") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (uStack_28 == 0) {\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }" (if "if") (parenthesized_expression "(uStack_28 == 0)" (( "(") (binary_expression "uStack_28 == 0" (identifier "uStack_28") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar13 = *param_2;\n        uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);\n                    \n        FUN_0002aa20(uVar10,uVar13);\n      }" ({ "{") (expression_statement "uVar13 = *param_2;" (assignment_expression "uVar13 = *param_2" (identifier "uVar13") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2);" (assignment_expression "uVar10 = dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2)" (identifier "dcgettext") (argument_list "(0,\n                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"\n                           ,5,param_2)" (( "(") (number_literal "0") (, ",") (string_literal ""Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"" (" """) (string_content "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s") (" """)) (, ",") (number_literal "5") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "FUN_0002aa20(uVar10,uVar13);" (call_expression "FUN_0002aa20(uVar10,uVar13)" (identifier "FUN_0002aa20") (argument_list "(uVar10,uVar13)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar13") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")))) (return_statement "return local_2c;" (return "return") (identifier "local_2c") (; ";")) (} "}")))

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

int function_1(type_1 *var_2,type_2 segment,int var_38)

{
  type_3 *poVar1;
  type_3 *poVar2;
  type_4 *var_31;
  type_5 var_8;
  type_6 var_37;
  type_3 oVar5;
  short var_11;
  bool bVar7;
  type_2 var_41;
  type_6 var_22;
  type_5 var_6;
  type_5 var_7;
  int var_14;
  char *format;
  type_2 var_40;
  type_7 var_35;
  char *pcVar15;
  int var_26;
  type_1 *var_18;
  type_5 var_3;
  int var_17;
  type_8 *var_27;
  type_6 var_21;
  type_9 var_48;
  type_8 *var_28;
  type_10 bVar24;
  int var_20;
  type_5 var_24;
  type_11 *var_36;
  type_5 var_30;
  type_5 var_23;
  int local_2c;
  type_5 var_51;
  
  bVar24 = 0;
  var_1(segment,0);
  if (var_2 == (type_1 *)0x0) {
    local_2c = 0;
  }
  else {
    var_11 = 0;
    var_3 = 0;
    var_18 = var_2;
    var_14 = 0;
    do {
      var_17 = var_14;
      var_18->fr_address = var_3;
      var_3 = var_3 + var_18->fr_fix;
      var_18->field_0x2e = var_18->field_0x2e & 0xfe;
      *(short *)&var_18->field_0x2c = var_11;
      var_48 = var_18->fr_type;
      switch(var_48) {
      default:
        pcVar15 = (char *)var_4(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);
                    /* WARNING: Subroutine does not return */
        var_5(pcVar15,var_48,0xaa0,"../../gas/write.c");
      case rs_fill:
        poVar1 = &var_18->fr_offset;
        poVar2 = &var_18->fr_var;
        var_18 = var_18->fr_next;
        var_3 = *poVar1 * *poVar2 + var_3;
        break;
      case var_50:
      case rs_align_code:
      case rs_align_test:
        var_6 = -1 << ((type_10)var_18->fr_offset & 0x1f);
        var_6 = ~var_6 + var_3 & var_6;
        var_7 = var_6 - var_3;
        if (((var_18->fr_subtype == 0) || (var_7 <= var_18->fr_subtype)) &&
           (var_8 = var_18->fr_var, var_3 = var_6, var_7 % var_8 != 0)) {
          pcVar15 = (char *)var_9(0,"alignment padding (%lu byte) not a multiple of %ld",
                                       "alignment padding (%lu bytes) not a multiple of %ld",var_7,
                                       5);
          var_10(var_18->fr_file,var_18->fr_line,pcVar15,var_7,var_8);
          var_3 = var_6 - var_7 % (type_5)var_18->fr_var;
        }
      case rs_org:
        var_18 = var_18->fr_next;
        var_11 = var_11 + 1;
        break;
      case rs_machine_dependent:
        if (var_18->fr_symbol != (type_4 *)0x0) {
          var_12(var_18->fr_symbol);
        }
        var_14 = var_13(var_18,segment);
        var_3 = var_3 + var_14;
      case rs_space:
      case rs_space_nop:
        var_18 = var_18->fr_next;
        break;
      case var_49:
        var_18->fr_offset = 1;
        var_18 = var_18->fr_next;
        var_3 = var_3 + 1;
        break;
      case rs_cfa:
        var_14 = var_15(var_18);
        var_18 = var_18->fr_next;
        var_3 = var_3 + var_14;
        break;
      case rs_dwarf2dbg:
        var_14 = var_16(var_18);
        var_18 = var_18->fr_next;
        var_3 = var_3 + var_14;
      }
      var_14 = var_17 + 1;
    } while (var_18 != (type_1 *)0x0);
    var_3 = var_17 + 1;
    var_24 = 0;
    local_2c = 0;
    var_51 = var_3 * var_3;
    if (var_3 * var_3 < var_3) {
      var_51 = var_3;
    }
    var_41 = (type_2)(var_19 + 0x150);
    while (var_2 != (type_1 *)0x0) {
      bVar7 = false;
      var_20 = 0;
      var_18 = var_2;
      var_21 = var_2->fr_address;
LAB_0003d598:
      var_48 = var_18->fr_type;
      var_31 = var_18->fr_symbol;
      var_18->field_0x2e = var_18->field_0x2e & 0xfe | var_18->field_0x2e & 1 ^ 1;
      var_22 = var_20 + var_21;
      var_18->fr_address = var_22;
      var_30 = var_18->fr_offset;
      switch(var_48) {
      default:
        pcVar15 = (char *)var_4(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);
                    /* WARNING: Subroutine does not return */
        var_5(pcVar15,var_48,0xbf4,"../../gas/write.c");
      case rs_fill:
_L687:
        var_36 = var_18->fr_next;
        goto joined_r0x0003d763;
      case var_50:
      case rs_align_code:
      case rs_align_test:
        var_14 = var_21 + var_18->fr_fix;
        var_3 = -1 << ((type_10)var_30 & 0x1f);
        var_6 = var_14 + ~var_3 & var_3;
        var_17 = var_22 + var_18->fr_fix;
        var_23 = (~var_3 + var_17 & var_3) - var_17;
        var_3 = var_18->fr_subtype;
        if (var_3 == 0) {
          var_30 = (var_14 - var_6) + var_23;
        }
        else if (var_3 < var_6 - var_14) {
          var_30 = var_23;
          if (var_3 < var_23) goto _L687;
        }
        else if (var_3 < var_23) {
          var_23 = 0;
          var_30 = var_14 - var_6;
        }
        else {
          var_30 = (var_14 - var_6) + var_23;
        }
        if (-1 < (int)var_30) break;
        if (((var_24 & 0x10) != 0) && ((var_24 & 0xe) != 0)) {
                    /* WARNING: Load size is inaccurate */
          var_14 = *segment->userdata;
          var_36 = var_25((type_12 *)(var_14 + 0x18));
          var_17 = var_18->fr_var;
          var_26 = *(int *)(var_14 + 0x24) + var_17;
          *(int *)(var_14 + 0x24) = var_26;
          if (var_26 == *(int *)(var_14 + 0x20)) {
            *(type_10 *)(var_14 + 0x40) = *(type_10 *)(var_14 + 0x40) | 2;
          }
          var_3 = *(type_5 *)(var_14 + 0x28);
          var_6 = var_26 + *(type_5 *)(var_14 + 0x30) & ~*(type_5 *)(var_14 + 0x30);
          *(type_5 *)(var_14 + 0x24) = var_6;
          if (var_3 - *(int *)(var_14 + 0x1c) < var_6 - *(int *)(var_14 + 0x1c)) {
            *(type_5 *)(var_14 + 0x24) = var_3;
            var_6 = var_3;
          }
          *(type_5 *)(var_14 + 0x20) = var_6;
          var_36->fr_address = var_18->fr_address;
          var_28 = (type_8 *)((type_5)&var_36->last_fr_address & 0xfffffffc);
          (var_36->tc_frag_data).max_bytes = (var_18->tc_frag_data).max_bytes;
          var_14 = (int)var_36 - (int)var_28;
          var_27 = (type_8 *)((int)var_18 - var_14);
          for (var_3 = var_14 + 0x54U >> 2; var_3 != 0; var_3 = var_3 - 1) {
            *var_28 = *var_27;
            var_27 = var_27 + (type_5)bVar24 * -2 + 1;
            var_28 = var_28 + (type_5)bVar24 * -2 + 1;
          }
          var_29(var_36->fr_literal,var_18->fr_literal + var_18->fr_fix,var_18->fr_var);
          var_21 = var_22 + var_18->fr_fix + var_23;
          oVar5 = var_18->fr_offset;
          var_36->fr_type = rs_fill;
          var_36->fr_address = var_21;
          var_36->fr_fix = 0;
          var_14 = (1 << ((type_10)oVar5 & 0x1f)) / var_18->fr_var;
          var_36->fr_offset = var_14;
          var_26 = 1 << ((type_10)var_18->fr_offset & 0x1f);
          if (var_17 * var_14 - var_26 == 0) {
            var_26 = var_14 * var_36->fr_var;
          }
          else {
            var_36->fr_offset = var_26;
            var_36->fr_var = 1;
          }
          var_30 = var_30 + var_26;
          var_36->fr_address = var_21 - (var_30 + var_20);
          var_36->field_0x2e = var_36->field_0x2e & 0xfe | var_36->field_0x2e & 1 ^ 1;
          var_18->fr_next = var_36;
          goto LAB_0003da0f;
        }
        var_36 = var_18->fr_next;
        var_20 = var_20 + var_30;
        goto joined_r0x0003d74b;
      case rs_org:
        if (var_31 != (type_4 *)0x0) {
          var_40 = var_32(var_31);
          if (var_40->vma != 0) {
                    /* WARNING: Subroutine does not return */
            var_33("../../gas/write.c",0xb80,"relax_segment");
          }
          var_35 = var_34(var_31);
          var_30 = var_30 + var_35;
        }
        var_36 = var_18->fr_next;
        if (var_36 == (type_11 *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_33("../../gas/write.c",0xb84,"relax_segment");
        }
        var_37 = var_36->fr_address;
        if (var_22 + var_18->fr_fix <= var_30) {
          var_30 = var_30 - (var_37 + var_20);
LAB_0003da0f:
          if (var_30 != 0) {
            var_48 = var_18->fr_type;
            goto LAB_0003d73c;
          }
          goto LAB_0003d70f;
        }
        if (1 < var_38) {
          pcVar15 = (char *)var_4(0,"attempt to move .org backwards",5);
          var_10(var_18->fr_file,var_18->fr_line,pcVar15);
          var_18->fr_type = var_50;
          var_18->fr_subtype = 0;
          var_18->fr_offset = 0;
          var_18->fr_fix = var_37 - var_21;
          var_36 = var_18->fr_next;
          goto joined_r0x0003d763;
        }
        local_2c = 1;
        var_18 = var_36;
        var_21 = var_37;
        goto LAB_0003d598;
      case rs_machine_dependent:
        var_30 = var_39(segment,var_18,var_20);
        break;
      case rs_space:
      case rs_space_nop:
        if (var_31 == (type_4 *)0x0) goto _L687;
        var_35 = var_34(var_31);
        var_40 = var_32(var_31);
        if (((var_40 == var_41) && (var_14 = var_42(var_31), var_14 == 0)) &&
           (var_14 = var_43(var_31), var_14 != 0)) {
          if (-1 < (int)var_35) {
            var_36 = var_18->fr_next;
            var_30 = ((var_18->fr_fix + var_21) - var_36->fr_address) + var_35;
            goto LAB_0003da0f;
          }
          if (var_38 < 2) {
            var_36 = var_18->fr_next;
            local_2c = 1;
          }
          else {
            pcVar15 = (char *)var_4(0,".space, .nops or .fill with negative value, ignored",5);
            var_44(var_18->fr_file,var_18->fr_line,pcVar15);
            var_18->fr_symbol = (type_4 *)0x0;
            var_36 = var_18->fr_next;
          }
        }
        else {
          pcVar15 = (char *)var_4(0,".space specifies non-absolute value",5);
          var_10(var_18->fr_file,var_18->fr_line,pcVar15);
          var_18->fr_symbol = (type_4 *)0x0;
          var_36 = var_18->fr_next;
        }
        goto joined_r0x0003d763;
      case var_49:
        var_35 = var_12(var_31);
        var_3 = var_45(var_35,var_18->fr_subtype);
        var_30 = var_3 - var_18->fr_offset;
        var_18->fr_offset = var_3;
        break;
      case rs_cfa:
        var_30 = var_46(var_18);
        var_36 = var_18->fr_next;
        goto joined_r0x0003d971;
      case rs_dwarf2dbg:
        var_30 = var_47(var_18);
      }
      var_36 = var_18->fr_next;
joined_r0x0003d971:
      if (var_30 != 0) {
        var_48 = var_18->fr_type;
LAB_0003d73c:
        var_20 = var_20 + var_30;
        if (var_48 == var_49) {
          var_24 = var_24 + 0x10;
          bVar7 = true;
        }
        else {
joined_r0x0003d74b:
          if (((var_48 == var_50) && ((var_24 & 0x10) != 0)) && (var_20 == 0)) {
            var_24 = var_24 + 0x10;
            bVar7 = true;
          }
          else {
            var_24 = 0;
            bVar7 = true;
          }
        }
      }
joined_r0x0003d763:
      if (var_36 != (type_11 *)0x0) {
LAB_0003d70f:
        var_18 = var_36;
        var_21 = var_36->fr_address;
        goto LAB_0003d598;
      }
      if (var_20 == 0 && (var_24 & 0x10) == 0) {
        var_3 = var_24 + 1;
        var_6 = var_24 & 0xfffffff0;
        var_24 = 0;
        if (var_6 != 0) {
          var_24 = var_3;
        }
      }
      else {
        var_24 = 0;
      }
      if (!bVar7) {
        do {
          if (var_2->last_fr_address != var_2->fr_address) {
            var_2->last_fr_address = var_2->fr_address;
            local_2c = 1;
          }
          var_2 = var_2->fr_next;
        } while (var_2 != (type_1 *)0x0);
        return local_2c;
      }
      var_51 = var_51 - 1;
      if (var_51 == 0) {
        pcVar15 = segment->name;
        format = (char *)var_4(0,
                                   "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"
                                   ,5,segment);
                    /* WARNING: Subroutine does not return */
        var_5(format,pcVar15);
      }
    }
  }
  return local_2c;
}


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

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

undefined4 MASKED(uint *param_1,undefined4 *param_2,int param_3)

{
  uint *puVar1;
  uint *puVar2;
  short sVar3;
  bool bVar4;
  undefined *puVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  int iVar9;
  undefined4 uVar10;
  undefined *puVar11;
  int iVar12;
  undefined4 uVar13;
  uint *puVar14;
  uint uVar15;
  undefined4 *puVar16;
  undefined4 *puVar17;
  byte bVar18;
  int local_4c;
  uint uStack_44;
  uint *local_40;
  uint uStack_38;
  uint uStack_34;
  undefined4 local_2c;
  uint uStack_28;
  
  bVar18 = 0;
  FUN_00034dd0(param_2,0);
  if (param_1 == (uint *)0x0) {
    local_2c = 0;
  }
  else {
    sVar3 = 0;
    uVar15 = 0;
    puVar14 = param_1;
    iVar9 = 0;
    do {
      iVar12 = iVar9;
      *puVar14 = uVar15;
      uVar15 = uVar15 + puVar14[2];
      *(byte *)((int)puVar14 + 0x2e) = *(byte *)((int)puVar14 + 0x2e) & 0xfe;
      *(short *)(puVar14 + 0xb) = sVar3;
      uVar7 = puVar14[0xc];
      switch(uVar7) {
      default:
        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);
                    /* WARNING: Subroutine does not return */
        FUN_0002aa20(uVar13,uVar7,0xaa0,"../../gas/write.c");
      case 1:
        puVar1 = puVar14 + 4;
        puVar2 = puVar14 + 3;
        puVar14 = (uint *)puVar14[7];
        uVar15 = *puVar1 * *puVar2 + uVar15;
        break;
      case 2:
      case 3:
      case 4:
        uVar7 = -1 << ((byte)puVar14[4] & 0x1f);
        uVar7 = ~uVar7 + uVar15 & uVar7;
        uVar8 = uVar7 - uVar15;
        if (((puVar14[0xd] == 0) || (uVar8 <= puVar14[0xd])) &&
           (uVar6 = puVar14[3], uVar15 = uVar7, uVar8 % uVar6 != 0)) {
          uVar13 = dcngettext(0,"alignment padding (%lu byte) not a multiple of %ld",
                              "alignment padding (%lu bytes) not a multiple of %ld",uVar8,5);
          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13,uVar8,uVar6);
          uVar15 = uVar7 - uVar8 % puVar14[3];
        }
      case 5:
        puVar14 = (uint *)puVar14[7];
        sVar3 = sVar3 + 1;
        break;
      case 7:
        if (puVar14[5] != 0) {
          FUN_00037320(puVar14[5]);
        }
        iVar9 = FUN_0004e530(puVar14,param_2);
        uVar15 = uVar15 + iVar9;
      case 8:
      case 9:
        puVar14 = (uint *)puVar14[7];
        break;
      case 0xb:
        puVar14[4] = 1;
        puVar14 = (uint *)puVar14[7];
        uVar15 = uVar15 + 1;
        break;
      case 0xc:
        iVar9 = FUN_0001fdb0(puVar14);
        puVar14 = (uint *)puVar14[7];
        uVar15 = uVar15 + iVar9;
        break;
      case 0xd:
        iVar9 = FUN_0001b960(puVar14);
        puVar14 = (uint *)puVar14[7];
        uVar15 = uVar15 + iVar9;
      }
      iVar9 = iVar12 + 1;
    } while (puVar14 != (uint *)0x0);
    uVar15 = iVar12 + 1;
    uStack_44 = 0;
    local_2c = 0;
    uStack_28 = uVar15 * uVar15;
    if (uVar15 * uVar15 < uVar15) {
      uStack_28 = uVar15;
    }
    puVar5 = PTR__bfd_std_section_0007afb0 + 0x150;
    while (param_1 != (uint *)0x0) {
      bVar4 = false;
      local_4c = 0;
      puVar14 = param_1;
      uVar15 = *param_1;
code_r0x0003d598:
      uVar7 = puVar14[0xc];
      uVar8 = puVar14[5];
      *(byte *)((int)puVar14 + 0x2e) =
           *(byte *)((int)puVar14 + 0x2e) & 0xfe | *(byte *)((int)puVar14 + 0x2e) & 1 ^ 1;
      uVar6 = local_4c + uVar15;
      *puVar14 = uVar6;
      uStack_38 = puVar14[4];
      switch(uVar7) {
      default:
        uVar13 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);
                    /* WARNING: Subroutine does not return */
        FUN_0002aa20(uVar13,uVar7,0xbf4,"../../gas/write.c");
      case 1:
code_r0x0003d708:
        local_40 = (uint *)puVar14[7];
        goto joined_r0x0003d763;
      case 2:
      case 3:
      case 4:
        iVar9 = uVar15 + puVar14[2];
        uVar15 = -1 << ((byte)uStack_38 & 0x1f);
        uVar8 = iVar9 + ~uVar15 & uVar15;
        uStack_34 = (~uVar15 + uVar6 + puVar14[2] & uVar15) - (uVar6 + puVar14[2]);
        uVar15 = puVar14[0xd];
        if (uVar15 == 0) {
          uStack_38 = (iVar9 - uVar8) + uStack_34;
        }
        else if (uVar15 < uVar8 - iVar9) {
          uStack_38 = uStack_34;
          if (uVar15 < uStack_34) goto code_r0x0003d708;
        }
        else if (uVar15 < uStack_34) {
          uStack_34 = 0;
          uStack_38 = iVar9 - uVar8;
        }
        else {
          uStack_38 = (iVar9 - uVar8) + uStack_34;
        }
        if (-1 < (int)uStack_38) break;
        if (((uStack_44 & 0x10) != 0) && ((uStack_44 & 0xe) != 0)) {
          iVar9 = *(int *)param_2[0x1a];
          local_40 = (uint *)FUN_000234c0(iVar9 + 0x18);
          uVar15 = puVar14[3];
          iVar12 = *(int *)(iVar9 + 0x24) + uVar15;
          *(int *)(iVar9 + 0x24) = iVar12;
          if (iVar12 == *(int *)(iVar9 + 0x20)) {
            *(byte *)(iVar9 + 0x40) = *(byte *)(iVar9 + 0x40) | 2;
          }
          uVar7 = *(uint *)(iVar9 + 0x28);
          uVar8 = iVar12 + *(uint *)(iVar9 + 0x30) & ~*(uint *)(iVar9 + 0x30);
          *(uint *)(iVar9 + 0x24) = uVar8;
          if (uVar7 - *(int *)(iVar9 + 0x1c) < uVar8 - *(int *)(iVar9 + 0x1c)) {
            *(uint *)(iVar9 + 0x24) = uVar7;
            uVar8 = uVar7;
          }
          *(uint *)(iVar9 + 0x20) = uVar8;
          *local_40 = *puVar14;
          local_40[0x14] = puVar14[0x14];
          iVar9 = (int)local_40 - (int)((uint)(local_40 + 1) & 0xfffffffc);
          puVar16 = (undefined4 *)((int)puVar14 - iVar9);
          puVar17 = (undefined4 *)((uint)(local_40 + 1) & 0xfffffffc);
          for (uVar7 = iVar9 + 0x54U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {
            *puVar17 = *puVar16;
            puVar16 = puVar16 + (uint)bVar18 * -2 + 1;
            puVar17 = puVar17 + (uint)bVar18 * -2 + 1;
          }
          memcpy(local_40 + 0x15,(void *)((int)puVar14 + puVar14[2] + 0x54),puVar14[3]);
          uStack_34 = uVar6 + puVar14[2] + uStack_34;
          uVar7 = puVar14[4];
          local_40[0xc] = 1;
          *local_40 = uStack_34;
          local_40[2] = 0;
          uVar7 = (1 << ((byte)uVar7 & 0x1f)) / (int)puVar14[3];
          local_40[4] = uVar7;
          uVar8 = 1 << ((byte)puVar14[4] & 0x1f);
          if (uVar15 * uVar7 - uVar8 == 0) {
            uVar8 = uVar7 * local_40[3];
          }
          else {
            local_40[4] = uVar8;
            local_40[3] = 1;
          }
          uStack_38 = uStack_38 + uVar8;
          *local_40 = uStack_34 - (uStack_38 + local_4c);
          *(byte *)((int)local_40 + 0x2e) =
               *(byte *)((int)local_40 + 0x2e) & 0xfe | *(byte *)((int)local_40 + 0x2e) & 1 ^ 1;
          puVar14[7] = (uint)local_40;
          goto code_r0x0003da0f;
        }
        local_40 = (uint *)puVar14[7];
        local_4c = local_4c + uStack_38;
        goto joined_r0x0003d74b;
      case 5:
        if (uVar8 != 0) {
          iVar9 = FUN_00036e00(uVar8);
          if (*(int *)(iVar9 + 0x1c) != 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0002aaa0("../../gas/write.c",0xb80,"relax_segment");
          }
          iVar9 = FUN_00038490(uVar8);
          uStack_38 = uStack_38 + iVar9;
        }
        local_40 = (uint *)puVar14[7];
        if (local_40 == (uint *)0x0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002aaa0("../../gas/write.c",0xb84,"relax_segment");
        }
        uVar7 = *local_40;
        if (uVar6 + puVar14[2] <= uStack_38) {
          uStack_38 = uStack_38 - (uVar7 + local_4c);
code_r0x0003da0f:
          if (uStack_38 != 0) {
            uVar7 = puVar14[0xc];
            goto code_r0x0003d73c;
          }
          goto code_r0x0003d70f;
        }
        if (1 < param_3) {
          uVar13 = dcgettext(0,"attempt to move .org backwards",5);
          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);
          puVar14[0xc] = 2;
          puVar14[0xd] = 0;
          puVar14[4] = 0;
          puVar14[2] = uVar7 - uVar15;
          local_40 = (uint *)puVar14[7];
          goto joined_r0x0003d763;
        }
        local_2c = 1;
        puVar14 = local_40;
        uVar15 = uVar7;
        goto code_r0x0003d598;
      case 7:
        uStack_38 = FUN_0003d290(param_2,puVar14,local_4c);
        break;
      case 8:
      case 9:
        if (uVar8 == 0) goto code_r0x0003d708;
        iVar9 = FUN_00038490(uVar8);
        puVar11 = (undefined *)FUN_00036e00(uVar8);
        if (((puVar11 == puVar5) && (iVar12 = FUN_000369b0(uVar8), iVar12 == 0)) &&
           (iVar12 = FUN_00036a00(uVar8), iVar12 != 0)) {
          if (-1 < iVar9) {
            local_40 = (uint *)puVar14[7];
            uStack_38 = ((puVar14[2] + uVar15) - *local_40) + iVar9;
            goto code_r0x0003da0f;
          }
          if (param_3 < 2) {
            local_40 = (uint *)puVar14[7];
            local_2c = 1;
          }
          else {
            uVar13 = dcgettext(0,".space, .nops or .fill with negative value, ignored",5);
            FUN_0002a910(puVar14[8],puVar14[9],uVar13);
            puVar14[5] = 0;
            local_40 = (uint *)puVar14[7];
          }
        }
        else {
          uVar13 = dcgettext(0,".space specifies non-absolute value",5);
          FUN_0002a9d0(puVar14[8],puVar14[9],uVar13);
          puVar14[5] = 0;
          local_40 = (uint *)puVar14[7];
        }
        goto joined_r0x0003d763;
      case 0xb:
        uVar13 = FUN_00037320(uVar8);
        uVar15 = FUN_00030420(uVar13,puVar14[0xd]);
        uStack_38 = uVar15 - puVar14[4];
        puVar14[4] = uVar15;
        break;
      case 0xc:
        uStack_38 = FUN_0001fe60(puVar14);
        local_40 = (uint *)puVar14[7];
        goto joined_r0x0003d971;
      case 0xd:
        uStack_38 = FUN_0001b9b0(puVar14);
      }
      local_40 = (uint *)puVar14[7];
joined_r0x0003d971:
      if (uStack_38 != 0) {
        uVar7 = puVar14[0xc];
code_r0x0003d73c:
        local_4c = local_4c + uStack_38;
        if (uVar7 == 0xb) {
          uStack_44 = uStack_44 + 0x10;
          bVar4 = true;
        }
        else {
joined_r0x0003d74b:
          if (((uVar7 == 2) && ((uStack_44 & 0x10) != 0)) && (local_4c == 0)) {
            uStack_44 = uStack_44 + 0x10;
            bVar4 = true;
          }
          else {
            uStack_44 = 0;
            bVar4 = true;
          }
        }
      }
joined_r0x0003d763:
      if (local_40 != (uint *)0x0) {
code_r0x0003d70f:
        puVar14 = local_40;
        uVar15 = *local_40;
        goto code_r0x0003d598;
      }
      if (local_4c == 0 && (uStack_44 & 0x10) == 0) {
        uVar15 = uStack_44 + 1;
        uVar7 = uStack_44 & 0xfffffff0;
        uStack_44 = 0;
        if (uVar7 != 0) {
          uStack_44 = uVar15;
        }
      }
      else {
        uStack_44 = 0;
      }
      if (!bVar4) {
        do {
          if (param_1[1] != *param_1) {
            param_1[1] = *param_1;
            local_2c = 1;
          }
          param_1 = (uint *)param_1[7];
        } while (param_1 != (uint *)0x0);
        return local_2c;
      }
      uStack_28 = uStack_28 - 1;
      if (uStack_28 == 0) {
        uVar13 = *param_2;
        uVar10 = dcgettext(0,
                           "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"
                           ,5,param_2);
                    /* WARNING: Subroutine does not return */
        FUN_0002aa20(uVar10,uVar13);
      }
    }
  }
  return local_2c;
}

